forループのcatファイルは、ループの1行にデータ型を保持します。

forループのcatファイルは、ループの1行にデータ型を保持します。

indexes.outというファイルがあります。

indexes.out ファイルには次のコンテンツがあります。

informix abc_aseld_idx1
informix abc_aseld_idx2
informix abc_aseld_idx3
informix abc_aseld_idx4
informix abc_aseld_idx5

書式を維持しながら、一度に1つずつ各行を取得できるforループを作成したいと思います。次のforループコマンドを使用しています。

for i in `
cat indexes.out`
do
echo "$i"
done

出力は次のとおりです

informix
abc_aseld_idx1
informix
abc_aseld_idx2
informix
abc_aseld_idx3
informix
abc_aseld_idx4
informix
abc_aseld_idx5
informix

後で awk $1 と $2 を使用してループの 2 つの列を処理したいので、ファイルと同じ出力を見たいと思います。

informix abc_aseld_idx1
informix abc_aseld_idx2
informix abc_aseld_idx3
informix abc_aseld_idx4
informix abc_aseld_idx5

ループ内に入ると、各行を使用して特定の列を個別にフィルタリングしたいと思います。

ベストアンサー1

デフォルトではfor、-loopは行ではなく単語を繰り返します!

通常、ループは必要ありません。awkこれを使用してファイル行を繰り返すことができます。

awk '{print $1,$2 ;}' indexes.out

シェルでデータ処理を続行するには、ループを使用してwhile次のことを実行できますread

while read a b; do echo "$a $b"; done < indexes.out

他の用途を参照してくださいこの関連質問

おすすめ記事