2

ファイル:/etc/newsyslog.conf

各行の 3 列目 (カウント列) を置き換えようとしています。1 列目と 2 列目がタブで区切られているように見えます。ただし、2 列目と 3 列目はスペースで区切ります。

次の方法で、各行の 3 列目の値を取得できます。

grep /var /etc/newsyslog.conf | cut -d ' ' -f 3

ただし、3 列目の値の設定/置換に問題があります。問題は、特定の行の 3 列目の値がどうなるかわからないことです。そのため、私が知っている方法を使用して、その特定の (3 番目の列) の値/文字列を検索/置換することは困難です。

あなたが提供できるかもしれない助けやアドバイスをありがとう。

編集: Mac OS 10.6 システムであると言及する必要がありました。

4

1 に答える 1

2

複数のコマンドを避けるために、ここで awk を使用することをお勧めします。

awk '/\/var/{print $3}'

編集:

awk 'BEGIN{OFS="\t"} /\/var/{$3="14"}1' /etc/newsyslog.conf > temp
mv temp /etc/newsyslog.conf
于 2013-05-13T20:32:26.883 に答える