0

区切り記号で区切られたいくつかのフィールドがある「ファイル」という名前のファイルがあります。ファイルの構造は次のとおりです。

@field1@field2@field3@field4

awk を使用して、区切り記号なしでフィールドを抽出しました。

vr=$file;

sep_mx=`echo $vr | awk '{
    n=split($0,x,"@");
    print n
}'` 
echo $sep_mx
## here the number of substring produced is calc.

while ((i<=$max)); 
do
    # would print individual substring one at a
    # time as the counter increases.
    echo $vr | awk -v er=$i '{
        n=split($0,x,"@"); print x[er]
    }'
    ((i+=1))
done

出力は次のとおりです。

field1
field2
field3
field4

投稿したばかりのコードから 2 番目のフィールドのみを抽出したい場合、どうすればよいですか? ありがとう

4

4 に答える 4

1

The GNU sed invocation

sed -r 's/\W\w+\W(\w+).*/\1/' file

outputs

field2
于 2013-06-06T13:45:40.963 に答える