我正在寻找如何删除shell的最后一句话! 我使用sed,但我只find了如何删除每行的激光词,而不是指定的行。 例如:我有一个文件test.db
key1 value1 key2 value2 key3 value3
我只想删除value3
sed -is/'w*$'// test.db
这一行只是删除每一行的最后一句话!
如何在bash中的某一行之后对文件进行sorting?
使用bash shell脚本encryption文件
在Bash中用另一组行来过滤行
如何将文件包含在bash shell脚本中
bash_profile中的变化没有得到体现linux
在Linux中将分隔文件转换为固定宽度
为命令设置LD_PRELOAD环境variables,而不input完整path
使用unix工具和多列进行sorting
将whatis钩子添加到bash脚本中
sed -i '$s/w*$//' test.db
sed -i '/key3/s/w*$//' test.db
尝试这个 :
sed -i '1{s/[^ ]+s*$//}' file test.db
echo "one two three" | awk '{$NF="";sub(/[ t]+$/,"")}1' one two
因为你的目标是key3 value3
sed -i '/key3 value3/s/S*$//' test.db
其中 S代表不是空格或空格的数字。
sed -i '/line pattern/s/S*$//' test.db
线模式表示在您要定位的线上找到的模式
这可能适用于你(GNU sed):
sed -r '$s/(s*)S+(s*)$/12/' file
这将删除最后一行的最后一个非空间标记(保留任何周围的空白)。
要删除周围的空白,请使用:
sed -r '$s/s*S+s*$//' file
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。