デバッグ時に「print」を多く使用し、「#print」としてコメントアウトします。 grepを使用して「印刷」の前に「#」のない行を見つけるにはどうすればよいですか?
# print <- not detect
#print <- not detect
abc # print <-- not detect
print <- detect
答え1
grep '^[^#]*print'
print
前には#以外の文字だけが来ることができます。
答え2
クラシックソリューション:
grep -v '^#' <input |grep 'print'
答え3
最も簡単な方法は、おそらく2つのgrep
パイプを一緒に使用することです。
$ grep 'print' <input | grep -v '#[[:space:]]*print'
input
例を含むファイルを使用すると、次のようになります。
print <- detect
これはすべての例に適用されます。これだけで十分かもしれませんが、私とmanatworkがコメントで指摘したようにgrep
。
答え4
まだ学んでいますが、ffも動作しますか?
grep -v '#[ ]*print' input_file