以下のようなファイルでは、 "PRIO"を含むすべての行にそれ以降の値があり、それを出力として出力します。正規表現のbashと一致した後に行内に文字列があるかどうかを調べる
私はgrepでこれを実行しようとしましたが、探している単語が1つだけ出現する場合にのみ一致します。
cat PATH_TO_FILE | grep 'PRIO' &> /dev/null
if [ $? == 0 ]; then
echo "matched"
else
echo "not found"
fi
ファイル構造が
name1
sdgk
PRIO 3
name2
PRIO
dsl dfhhhdf
name3
fnslkf hsdhfd
jlkg;jslk sgdgdsg
kfasdjmgkdlsgl sdggsehg
PRIO 1
name4
sdgds
dsdsgdg
PRIO 2
sdgg
を使用したい場合は何のコードサンプルをご提供ください。今まで試みた。そうすれば、私たちはより効果的にあなたを助けることができます。 – Ivonet
'' cat'の無駄な使い方(http://www.iki.fi/era/unix/award.html)に加えて、 '$?'を明示的に調べることも避けたいと思っています。 'if'の目的は、コマンドを実行して終了コードを調べることです。そう; 'もしgrep -q '^ PRIO。* [0-1]'' PATH_TO_FILE; then ... ... ' – tripleee