.c
私のディレクトリにはいくつかのバイナリファイルといくつかの拡張ファイルがあります。
ここで、出力は次のように使用します。ls
arrays.c basic0 basic0.c fromfb fromfb.c oute oute.c segmen.c simp simp.c
ここではバイナリファイルだけをフィルタリングしたいので、次のようにします。
ls |grep -v .c
このコマンドはすべてのファイルをリストし、grep
I を使用して .c で終わらないファイルを除くファイルをインポートします。
私が期待したのは
basic0
fromfb
oute
simp
しかし、私が得たもの
fromfb
oute
simp
basic0バイナリがありません。これは何の問題ですか?
ベストアンサー1
~によるとman grep
期間。単一文字と一致します。
したがって、grep .c
次の文字と一致します。c
あなたは探しているか、grep -v \.c
より良いものかもしれませんgrep -v '\.c$'
どこ
\.
脱出の特別な意味。c
$
行末(lsにパイプされるとファイル名を出力)
ワイルドカードが示すように、grep -vF .c
この-F
フラグを使用してgrepに正規表現ではなく単純な文字列でargを使用するように指示することもできます。