Соответствие нескольким шаблонам с ls

Другое SED Подход Подход Выход:

sed 's/\(^[^;]*\;[^;]*\).*\(\;[^;]*\;$\)/\1\2/'

Выход: клеточные организмы; эукариота; Триболиум канузма;

-1
16.10.2014, 09:03
2 ответа

Вы можете протестировать против наличия Regex для этих расширений:

for file in *FAIL*; do [[ ! $file =~ .(bz2|gz) ]] && printf "%s\n" "$file"; done

Вставить обязательное предупреждение о не разборка LS ...

1
28.01.2020, 05:09

Если вы используете команду Find , вы можете пропустить файлы, которые заканчиваются в расширении .gz , как так:

$ ls -l
total 0
-rw-rw-r--. 1 saml saml 0 Oct 15 22:42 FAIL
-rw-rw-r--. 1 saml saml 0 Oct 15 22:42 FAIL.gz

$ find . -name "*FAIL*" ! -name "*.gz"
./FAIL

Вы также можете фильтровать LS вывод, как так:

$ ls *FAIL* | grep -v '.gz'
FAIL

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

1
28.01.2020, 05:09

Теги

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