2

文件:/etc/newsyslog.conf

我正在尝试替换每行的第三列(计数列)。第一列和第二列似乎由制表符分隔。但是,第二列和第三列由空格分隔。

我可以通过以下方式获取每一行的第三列的值:

grep /var /etc/newsyslog.conf | cut -d ' ' -f 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 回答