列を使用してファイルを繰り返します。

列を使用してファイルを繰り返します。

私は多くのゴミと私が興味のある列(列4)を含むfile.txtというファイルを繰り返そうとします。私はこのループを0からeofまで実行したいと思います。列4の各値に対して異なるスクリプトを呼び出したい。

答え1

列4の各値に対してスクリプトを呼び出すには、次のように使用します。

awk '{system("./your_script.sh " $4)}' inputfile

答え2

実行方法の別のバージョンがあります。今回はシェル組み込み機能のみを使用します。

while read line ; do
    set $line
    echo $4
done <filename

echoスクリプトに置き換えてください。

答え3

あなたの列がスペースで区切られているとします。

for value in $(cat file.txt | tr -s ' ' | cut -d ' ' -f4); do
  ./my_script.sh $value
done

説明する:

  • tr -s ' '列が単一のスペースで区切られるように、連続するスペースを抑制します。
  • cut -d ' ' -f4単一のスペースを区切り文字として使用して、4番目の列を選択します。

答え4

sed 1d $outfile1 | while read "column on file" do

done

関連情報