文件:/etc/newsyslog.conf
我正在尝试替换每行的第三列(计数列)。看起来好像第一列和第二列是用制表符分隔的。但是,第二列和第三列由空格分隔。
我可以通过以下方式获取每行第三列的值:
grep /var /etc/newsyslog.conf | cut -d ' ' -f 3
但是,我在设置/替换第三列中的值时遇到问题。问题是我不知道任何给定行的第三列的值是什么。这使得使用我知道的任何方法都很难搜索/替换该特定(第三列)值/字符串。
感谢您提供的任何帮助或建议。
编辑:我应该提到这是一个 Mac OS 10.6 系统。
最佳答案
这里最好使用 awk 以避免多个命令:
awk '/\/var/{print $3}'
编辑:
awk 'BEGIN{OFS="\t"} /\/var/{$3="14"}1' /etc/newsyslog.conf > temp
mv temp /etc/newsyslog.conf
关于macos - Bash + 替换列中的字符串/值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16530559/