現在、次の結果を生成するスクリプトがあります。
...
Processing !
Processing $6$vxVOJhOX$U2flG.WASP1fEsqNy1Q0S9YROgdNJi9TTC8Gn74Al4w03unxr4qtHeaeRl8sWsGLG4Om5WbUJVsqNaCD4t4tG.
Processing !
Processing $6$ehmLTmoj$VP72RBNibmjwngQxMrW0kiyax/wJHiV0ugv/8J2RJnCwNxTIBLGJ.A4t5ryZv6lQTyheoA6N0VianZC5QI7Rp1
Processing !
Processing !
...
.のみを使用して項目をフィルタリングしたいです!
。
脱出するかどうかにかかわらず、以下を試しています\!
。
while read -r line ; do
if ! [ \$line = \! ]; then
echo "Processing $line"
fi
done
変数に単一が含まれているかどうかを確認するには!
?
答え1
- 例の出力行に、より多くのテキスト(「処理中」)があります
- ドル記号をエスケープして
\$line
変数の拡張を防止しました。
努力する:
while read -r line; do
if ! [ "$line" = "Processing !" ]; then
echo processing line "$line";
fi
done
またはあなたの入力もしサンプルスクリプトを見て、$line
次のものを比較します\!
。
while read -r line; do
if ! [ "$line" = \! ]; then
echo processing line "$line";
fi
done
またはもっと直接的に:
while read -r line; do
if [ "$line" != \! ]; then
echo processing line "$line";
fi
done