Файлы списка, имя которых начинается с любого из символов между к k

Должно быть что-то с Вашей средой, потому что, когда я пробую тот же пример, я получаю ожидаемые результаты. Например:

# command #1
$ (time echo "hi") 2>> measures.txt
hi

$ cat measures.txt 

real    0m0.000s
user    0m0.000s
sys 0m0.000s

# command #2
$ (timeout 1s time echo "hi") 2>> measures.txt
hi

$ cat measures.txt 

real    0m0.000s
user    0m0.000s
sys 0m0.000s
0.00user 0.00system 0:00.05elapsed 0%CPU (0avgtext+0avgdata 552maxresident)k
56inputs+0outputs (1major+173minor)pagefaults 0swaps

Вместо того, чтобы структурировать Вашу команду как 2 отдельных вызова, почему бы не это как так:

(
 time ./minisat+_64-bit_static opb_clauses.txt
 timeout 1s time ./minisat+_64-bit_static opb_clauses.txt
) 2>>../measures.txt
4
20.01.2015, 02:29
7 ответов

Попробуйте это:

find . -type f -name "[a-k]*"
6
27.01.2020, 20:45
find . -type f -name '[a-k]*'

или (быть в безопасности против проблем с локалом)

find . -type f -name '[abcdefghijk]*'
6
27.01.2020, 20:45

Просто используйте оболочку Globbing (тест: ECHO [A-K] * ). Вам обычно нужно повторять файлы, поэтому обычный рисунок для файла в [A-K] *; сделай что-нибудь; сделано . Никогда не используйте LS для итерации.

Полезно прочитать: http://mywiki.woolegege.org/parsingls

1
27.01.2020, 20:45

Для текущего каталога только вы можете использовать

ls -d [a-k]*
2
27.01.2020, 20:45

Просто для справки, с ZSH: (И не попасть в Ls / echo / etc. Нить)

Показать простой файлы в текущем каталоге:

ls [a-k]*(.)

Отображение всех типов файлов в текущем каталоге:

ls -d [a-k]*

Один и тот же рекурсивно:

ls -d -- **/[a-k]*(.)

(не глядя внутрь скрытые каталоги) и

ls -d -- **/[a-k]*
0
27.01.2020, 20:45

- Быть более конкретным, поскольку было не ясно, было ли отображение текущих файлов каталога или системных файлов, вы можете использовать один из определенных режимов.

ls -d [a-k] * -> Для отображения файлов / каталогов текущего местоположения / папки / папки.

ИЛИ

Найти / -type f -name '[k]' * -> Чтобы отобразить каталоги файлов / целых системных каталогов и запомнив, что разница здесь будет то, что скрытые элементы не отображаются, как и с таким образом, уже показано.

    find . -type f -name '[a-k]*'

Если используется команда «LS», чтобы также просмотреть скрытое использование этого режима.

    ls -da [a-k]*
0
27.01.2020, 20:45

Вы можете использовать функцию командной строки Bash .

$ ls -l [a-k]*

[A-K] относится к алфавитам из A к K .
* относится к любому характеру любое количество раз.

Так что теперь Bash ищет файлы, начиная с буквы A - k и с последующим любым символом любое количество раз.

3
27.01.2020, 20:45

Теги

Похожие вопросы