-1

awkに問題があります。整数値NFに応じて文字列変数(str)を定義して、別の関数で使用したいと思います。NF= 3 str = "$ 1 $ 2$3"の場合。

NF = 4 str = "$ 1 $ 2 $ 3 $4"....などの場合これを行う方法

4

3 に答える 3

0

str=$0 を使用するだけです

if(NF==3) then str="$1 $2 $3"

行に 3 つのフィールドがある場合、明らかに $0 は 3 つのフィールドすべての組み合わせです。また、出力フィールド区切り文字を " " にしたい場合は、OFS=" " のように指定します。

例:

awk -F";" 'BEGIN{OFS=" "}{str=$0;print str}' file
于 2012-08-02T12:20:50.677 に答える
0

変数を定義して使用する方法を確認したいだけの場合は、これを試してください。

#!/bin/awk -f
{
        print NF
        if (NF==3){
                str=$1 $2 $3 " says hello 3"
        }
        if (NF==2){
                str=$1 $2 
        }
        print str
}
于 2012-08-02T12:25:43.717 に答える
0

私があなたを正しく理解していれば、これが欲しいですか?

kent$echo "a b c d"|awk '{for(i=1;i<=NF;i++) s=s"$"i" ";print s}' 
$1 $2 $3 $4 
于 2012-08-02T12:59:00.643 に答える