-3

UNIX シェル スクリプト コマンドを使用して、以下の 2 つの要件を達成するのを手伝ってください。

要件 1: フラット ファイルに "N" 列ある場合。フラット ファイルの 5 番目の列では、そこに存在する値に関係なく、"def" を使用したブラインド更新を実行する必要があります (値は、abc、xyx、foo、den などの任意の値にすることができます)。残りの他の列の値のデータは変更しないでください。


要件 2: フラット ファイルに "N" 列ある場合。フラット ファイルの 5 番目の列で、値が "abc" として存在する場合、それを "def" に置き換える必要があります。残りの列の値のデータは変更しないでください。

よろしく、 シュリハリ

4

1 に答える 1

0

With :ステートメントawkに区切り文字を設定します。区切り文字がスペースの場合は、ステートメントBEGINを削除してください。BEGIN

要件 1:

awk 'BEGIN{FS=OFS=":"}{for(i=1;i<=NF;i++)if(i==5){$i="def"}}1' your_file

要件 2:

awk 'BEGIN{FS=OFS=":"}{for(i=1;i<=NF;i++)if(i==5 && $i=="abc"){$i="def"}}1' your_file
于 2013-06-24T17:29:32.713 に答える