awkを使用したbashスクリプト

awkを使用したbashスクリプト

ファイルを入力し、ファイルを読み込み、ループで実行するbashスクリプトを実行しています。私の問題は私のawkコマンドです。なぜエラーが発生するのかわかりません。

スクリプトを実行するファイルを入力します。

./almost.sh < text.txt

スクリプトは

#!/bin/bash

while read STRING
do
    echo $STRING
    "awk -v RS='' -v ORS='\n\n'  $STRING file.txt" >> out.txt 

     #grep $STRING dbutils.list.Volume.txt >> out.txt
done

私が得た結果は次のとおりです。

00061
./almost.sh: line 6: awk -v RS='' -v ORS='\n\n'  00061 list.txt: command not found
00062
./almost.sh: line 6: awk -v RS='' -v ORS='\n\n'  00062 list.txt: command not found
00091
./almost.sh: line 6: awk -v RS='' -v ORS='\n\n'  00091 list.txt: command not found
000C1
./almost.sh: line 6: awk -v RS='' -v ORS='\n\n'  000C1 list.txt: command not found
000C2
./almost.sh: line 6: awk -v RS='' -v ORS='\n\n'  000C2 list.txt: command not found

誰でもawkコマンドで私を助けることができますか?コマンドがループ内になく、一度だけ実行されると正常に動作します。

ベストアンサー1

コマンドがないため、エラーが報告されます。

"awk -v RS='' -v ORS='\n\n'  $STRING file.txt"

awkとその引数(意味なし)は二重引用符の間にあり、シェルの組み合わせはコマンドであり、シェルは "awk -v RS = '' -v ORS = '\ n \ n'というファイルを探しています。 STRINGファイル.txt"。

おそらくあなたは

awk -v RS='' -v ORS='\n\n'  "/$STRING/" file.txt >> out.txt

おすすめ記事