Другое SED
Подход Подход Выход:
sed 's/\(^[^;]*\;[^;]*\).*\(\;[^;]*\;$\)/\1\2/'
Выход: клеточные организмы; эукариота; Триболиум канузма;
Вы можете протестировать против наличия Regex для этих расширений:
for file in *FAIL*; do [[ ! $file =~ .(bz2|gz) ]] && printf "%s\n" "$file"; done
Вставить обязательное предупреждение о не разборка LS
...
Если вы используете команду 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
, поскольку он не структурирован так, чтобы он мог сделать это.