Возможный дубликат:
Как использовать обратные или отрицательные подстановочные знаки при сопоставлении шаблонов в оболочке unix/linux?
Я прочитал страницу man
для ls
, и я не могу найти параметр, чтобы отобразить все, что соответствует не. Вы знаете, как выполнить эту операцию?
Например: скажем, моя директория:
> ls
a.txt b.mkv c.txt d.mp3 e.flv
Теперь я хотел бы сделать что-то, что делает следующее
> ls -[SOME_OPTION] *.txt
b.mkv d.mp3 e.flv
Есть ли такая опция?
Если нет, есть ли способ передать вывод ls
другой функции (возможно, sed
), которая отображает только те, которые мне бы хотелось?
Я точно не знаю, как это сделать, но я предполагаю, что это будет что-то вроде:
> ls | sed [SOMETHING]
Мне действительно нужно научиться использовать sed
, awk
и grep
, но я все время зацикливаюсь на понимании того, как писать регулярные выражения. Я понимаю концепцию регулярных выражений четко, но я запутался между регулярными выражениями, использующими другой синтаксис.
Любая помощь будет очень признательна!
EDIT:
Я забыл упомянуть, что я запускаю Mac OS X, поэтому функции могут немного отличаться от тех, которые обсуждались в других ответах для оболочки unix/linux (следовательно, некоторые из моих путаницей с sed
, awk
, и grep
).