1

ファイルのバッチ内の特定の行の内容を変更しようとしています。簡単なことだと思っていましたが、何らかの理由で何も起こらないので、何かが足りないと思います。ライン 8 を交換する必要があります。

ここで私が使用したcshスクリプト:

#!/bin/csh
#
# replace context in line xxx by yyy
# 2010/05/07

set files = `ls FILENAMEPART*`
echo $files
foreach file  ($files)
        sed  '8,8 s/1/2 /' $file 
end

提案をありがとう

4

1 に答える 1

2

sed は、結果のファイル (行を置き換えたもの) をデフォルトで stdout に出力し、ソース (入力) ファイルはそのままにします。インプレース編集には -i オプションを使用します。これは、変更が $file で直接行われることを意味します。

于 2010-05-07T11:20:43.343 に答える