我意外地在许多服务器上向 /etc/crontab 分发了一行,然后我注意到这一行有一个拼写错误,我需要在所有服务器上更改它。
答案1
另一个选择是修正拼写错误,而不是删除最后一行
sed -i '$ s/typotext/correcttext/ /var/spool/cron/user
您应该能够直接编辑较新版本的 cron 的 crontab 文件,因为它会非常精确地检查更改。
答案2
如果你的 sed 支持就地编辑,那么,
sed -i '$d' file
如果没有,你需要使用复合命令,例如
cat file | sed '$d' > newfile; mv newfile file
答案3
使用head
user@host$ cat <<EOF > test.txt
1
2
3
4
EOF
user@host$ head -n -1 test.txt | sponge test.txt
user@host$ cat test.txt
1
2
3
user@host$
答案4
请参阅 unix.com 上的此论坛文章来寻找答案:
http://www.unix.com/shell-programming-scripting/25027-delete-last-line.html
sed -e '$d' 输入.文件 > 输出.文件
或者
头 -$(( wc -l file | awk '{print $1}'
- 1)) 文件