1

そのため、awkを使用してリストを分割し、データを個々のファイルに入れようとしています。これまでのところ私はこれを持っています..しかし、それは動作しません:

#!/bin/bash

for i in "45" "64" "60" "70" "74" "76"
do
        awk -v x="${i}" -F, '/x/ { print }' alluls.csv > $i.csv
done

echo "script has run"

ただし..すべての空のファイルを取得します

4

3 に答える 3

2

これを行う賢明な方法は、単一の awk コマンドです (テストされていません)。

awk -v valS='45 64 60 70 74 76' '
BEGIN{ split(valS,valA) }
{
    for (i=1; i in valA; i++)
        if ($0 ~ valA[i])
            print > (valA[i] ".csv")
}
END { print "script has run" }
' alluls.csv
于 2013-10-16T19:50:17.720 に答える
0

正規表現は、変数値ではなくリテラル「x」を探しています。

于 2013-10-16T18:33:46.903 に答える