文字を1.txt
含まない単語のみをテキストファイルから取得し、にエクスポートしたいのですが、何も返されません:a
b
c
2.txt
grep -o [^abc]*$ 1.txt > 2.txt
を含まない単語を取得するにはどうすればよいですa
か?b
c
これを試して:
grep -w -o -P '[^abc\s]*' 1.txt > 2.txt
そのため、「単語」の途中に空白を入れることもできません。
正規表現を Perl として解釈し、\s プレースホルダーを許可するために、-P フラグも含めました。
-P, --perl-regexp
Interpret PATTERN as a Perl regular expression.
GNU grep を使用すると使用できます
grep -w -o '[^abc]*' 1.txt > 2.txt
関連する部分は次のman
とおりです。
-w, --word-regexp
Select only those lines containing matches that form whole words...
-o, --only-matching
Print only the matched (non-empty) parts of a matching line...