配列内の文字列をファイルで検索する

ファーガス

次の簡略化されたコードを使用して、配列内のアイテムがoptionsファイル内にあるかどうかを確認しようとしてい$fileます。

options=(
    A
    B
    C
)

for i in "${options[@]}"; do
    if grep -F $file "${i}" = false; then
        echo "${i}"
    fi
done

に存在しない場合、これはA、B、またはCを出力すると予想します$fileが、代わりにA、B、およびCを出力します。

grep: A: No such file or directory
grep: =: No such file or directory
grep: false: No such file or directory

このことから、g​​repはすべての引数をチェックまたはチェックするファイルとして解釈しているようです。これは、ifステートメントのブール値の構文が正しくないことも意味します。したがって、私の質問は2つあります。

  1. grepまたは別のコマンドを使用して、配列内の要素が含まれている$fileかどうかを確認するにはどうすればよいですか?
  2. このコマンドがブール値をifステートメントの一部として残すのではなく、引数として解釈しないようにするにはどうすればよいですか?
カジモド
  1. を含むすべての変数展開を引用します$file
  2. 「ブール値」をチェックすることは想定されていません。シェルにはそのようなものはありません。grepの終了コードを確認することを意味します。つまり、一致する行がない場合は1、一致する行がある場合は0です(で見つけることができますman grep)。
  3. grep引数の順序を確認してください。最初にパターンが来て、次にファイル名が来ます。

これoptionsにより、ファイルにない配列内のすべての要素がエコーされます。

options=(
    A
    B
    C
)

for i in "${options[@]}"; do
    if ! grep -qF "$i" "$file"; then
        echo "$i"
    fi
done

-qgrepにフラグを追加しました。これにより、grepが一致する行が抑制され、そうでない場合はstdoutに送信されます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PHPでファイル内の文字列を検索する

分類Dev

PythonでPEファイル内の文字列を検索する

分類Dev

HTMLファイル内の文字列を検索する方法は?

分類Dev

ファイル内の文字列を検索する方法は?

分類Dev

Cファイル内の文字列を検索する方法は?

分類Dev

ファイル内の逆文字列を検索する

分類Dev

ファイル内の文字列を検索する(ruby)

分類Dev

ファイル内の文字列を検索する

分類Dev

ファイル内の部分文字列を検索する

分類Dev

ファイル内の行の文字列を検索し、UNIXで表示する

分類Dev

C ++でfstreamを使用してファイル内の文字列を検索する

分類Dev

Rでテキストファイル内の文字列を検索する

分類Dev

複数のzipファイルで文字列を検索する

分類Dev

複数の.txtファイルで文字列を検索する

分類Dev

ファイル内の文字または文字列を検索する(Java)

分類Dev

C ++でバイナリファイル内の文字列を検索します

分類Dev

フォルダ内のすべてのファイルで文字列を検索する

分類Dev

ファイル内の検索文字列の前に数値を抽出する

分類Dev

複数のファイル内の文字列を検索して置換する

分類Dev

ファイル内の複数の文字列を検索するgrep

分類Dev

ファイル内の2つ以上の文字列を検索する

分類Dev

テキストファイル内の文字列の場所を検索する

分類Dev

ファイル内の文字列を検索して結果を出力する

分類Dev

Ansiblewhen条件を使用してファイル内の文字列を検索する方法

分類Dev

SQLを使用してファイル内の文字列を検索する

分類Dev

PowerShellを使用してファイル名内の文字列を検索する

分類Dev

Python-大きなファイル内の文字列を検索する方法

分類Dev

大きなファイル内の文字列を効率的に検索する

分類Dev

IntelliJで逆コンパイル.classファイル内の文字列を検索する方法

Related 関連記事

  1. 1

    PHPでファイル内の文字列を検索する

  2. 2

    PythonでPEファイル内の文字列を検索する

  3. 3

    HTMLファイル内の文字列を検索する方法は?

  4. 4

    ファイル内の文字列を検索する方法は?

  5. 5

    Cファイル内の文字列を検索する方法は?

  6. 6

    ファイル内の逆文字列を検索する

  7. 7

    ファイル内の文字列を検索する(ruby)

  8. 8

    ファイル内の文字列を検索する

  9. 9

    ファイル内の部分文字列を検索する

  10. 10

    ファイル内の行の文字列を検索し、UNIXで表示する

  11. 11

    C ++でfstreamを使用してファイル内の文字列を検索する

  12. 12

    Rでテキストファイル内の文字列を検索する

  13. 13

    複数のzipファイルで文字列を検索する

  14. 14

    複数の.txtファイルで文字列を検索する

  15. 15

    ファイル内の文字または文字列を検索する(Java)

  16. 16

    C ++でバイナリファイル内の文字列を検索します

  17. 17

    フォルダ内のすべてのファイルで文字列を検索する

  18. 18

    ファイル内の検索文字列の前に数値を抽出する

  19. 19

    複数のファイル内の文字列を検索して置換する

  20. 20

    ファイル内の複数の文字列を検索するgrep

  21. 21

    ファイル内の2つ以上の文字列を検索する

  22. 22

    テキストファイル内の文字列の場所を検索する

  23. 23

    ファイル内の文字列を検索して結果を出力する

  24. 24

    Ansiblewhen条件を使用してファイル内の文字列を検索する方法

  25. 25

    SQLを使用してファイル内の文字列を検索する

  26. 26

    PowerShellを使用してファイル名内の文字列を検索する

  27. 27

    Python-大きなファイル内の文字列を検索する方法

  28. 28

    大きなファイル内の文字列を効率的に検索する

  29. 29

    IntelliJで逆コンパイル.classファイル内の文字列を検索する方法

ホットタグ

アーカイブ