2016-11-02 8 views
0

UNIXシェルスクリプトに関する質問があります。コードの次の行Unixシェルスクリプトでファイル内の要素を操作する方法

セッド「15S /.*/ 1 /」FILE1> FILE2

ダウンFILE1 15要素(すなわち、行)、それを変更するまで進むとfile2に変更されたファイルを書き込みます。 。今

HEADER 1 
RECORD: COL1 
1 
1 
1 
1 
1 
1 
1 
1 
2 
1 
1 
0 
1 
0 
0 

、ファイルの内容は次のように、「水平」であれば何:

HEADER 1 
RECORD:COL1,COL2,COL3,COL4,COL5 
1,0,4,0,3 

どのようにするために、上記のコードを変更するファイルは、この(「縦」)のように見えます最後の要素を変更します(つまり、 '3'を '0'に変更します)。

答えて

0

あなたはレコードのフィールドを操作する上で非常に優れているawkを使いたいでしょう。

この場合、フィールド区切り文字がカンマであることを宣言する必要があります。出力フィールド区切り文字もカンマです。私はあなたが特定のレコード番号を変更したいと仮定するつもりです(すなわち、行/列番号)awk tag info page

awk ' 
    BEGIN {FS = OFS = ","} 
    NR == 3 {$NF = 0} 
    {print} 
' <<END 
HEADER 1 
RECORD:COL1,COL2,COL3,COL4,COL5 
1,0,4,0, 
END 

たくさんの詳細。

関連する問題