shell script
スクリプトの適切な部分を実行する前に、テキストファイルに名前が追加されていることを確認する機能があります。名前が見つかったら、スクリプトのこの部分をスキップします。
以下は衝突の例です。
オランダ領アンティルス
if ! grep "netherlands-antilles" uploaded.txt; then
// Do some work here
echo netherlands-antilles >> uploaded.txt
fi
オランダ
if ! grep "netherlands" uploaded.txt; then
// Do some work here
echo netherlands >> uploaded.txt
fi
すでにテキストファイルにあるため、Netherlands Antillies
実際に必要なスクリプトの「オランダ」部分を実行しません。
grep
文字列の一部だけを検索しない方法はありますか?netherlands
一致するものを検索したくありませんnetherlands-antilles
。
答え1
これらのエントリがファイル行の唯一の内容である場合は、正規表現を使用して行の先頭と行のenfを含めることができます。
if ! grep "^netherlands$" uploaded.txt; then
// Do some work here
echo netherlands >> uploaded.txt
fi