シェルスクリプトから不規則なテキストファイルを1行ずつ読み込む方法

シェルスクリプトから不規則なテキストファイルを1行ずつ読み込む方法

テキストファイルを1行ずつ読み込む必要がありますが、行は一定ではなくさまざまです。例えば

$ cat file1.txt
syntax error at or near "?" at character 1
syntax error at or near "[" at character 1
syntax error at or near "," at character 1
syntax error at or near "desc" at character 1
syntax error at or near "describtion" at character 1 `

行を読み取った後は、自動的にgrepコマンドに渡され、結果セットを提供する必要があります。テキストファイルにキャプチャされた行数とエラー数は予測できないためです。すべてが自動的に行われるはずです。

$ find file1.txt | xargs grep 'syntax error at or near "?" at character 1' | tail -1

シェルスクリプトに2行、3行…n行を入れて自動化するにはどうすればよいですか?

ベストアンサー1

readコマンドを使用してファイルを 1 行ずつ読み取ることができます。たとえば、

while read -r line
 do 
 [[ $line = 'syntax error at or near "?" at character 1' ]] &&  printf '%s\n' "$line"
 done < file1.txt

おすすめ記事