微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

删除shell中最后一个单词

我正在寻找如何删除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脚本中

如何让Expect脚本输出文件

如果您只想删除最后一行的最后一个字,那么您可以使用:

sed -i '$s/w*$//' test.db

如果你想删除key3的最后一个单词:

sed -i '/key3/s/w*$//' test.db

尝试这个 :

sed -i '1{s/[^ ]+s*$//}' file test.db

这是一个awk来删除最后一个字段:

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] 举报,一经查实,本站将立刻删除。

相关推荐