awkに問題があります。整数値NFに応じて文字列変数(str)を定義して、別の関数で使用したいと思います。NF= 3 str = "$ 1 $ 2$3"の場合。
NF = 4 str = "$ 1 $ 2 $ 3 $4"....などの場合これを行う方法
awkに問題があります。整数値NFに応じて文字列変数(str)を定義して、別の関数で使用したいと思います。NF= 3 str = "$ 1 $ 2$3"の場合。
NF = 4 str = "$ 1 $ 2 $ 3 $4"....などの場合これを行う方法
str=$0 を使用するだけです
if(NF==3) then str="$1 $2 $3"
行に 3 つのフィールドがある場合、明らかに $0 は 3 つのフィールドすべての組み合わせです。また、出力フィールド区切り文字を " " にしたい場合は、OFS=" " のように指定します。
例:
awk -F";" 'BEGIN{OFS=" "}{str=$0;print str}' file
変数を定義して使用する方法を確認したいだけの場合は、これを試してください。
#!/bin/awk -f
{
print NF
if (NF==3){
str=$1 $2 $3 " says hello 3"
}
if (NF==2){
str=$1 $2
}
print str
}
私があなたを正しく理解していれば、これが欲しいですか?
kent$echo "a b c d"|awk '{for(i=1;i<=NF;i++) s=s"$"i" ";print s}'
$1 $2 $3 $4