删除shell中一行的最后一个单词

03t*_*t02 6 linux bash shell sed sh

我正在寻找如何删除shell中一行的最后一个单词!我使用sed,但我只找到了如何删除每一行的激光词,而不是指定行.例如:我有一个文件test.db

key1 value1
key2 value2
key3 value3
Run Code Online (Sandbox Code Playgroud)

我只想删除value3

sed -i s/'\w*$'// test.db
Run Code Online (Sandbox Code Playgroud)

这一行只删除每一行的最后一个字!

lur*_*ker 3

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

sed -i '$s/\w*$//' test.db
Run Code Online (Sandbox Code Playgroud)

如果您想删除 行中的最后一个单词key3

sed -i '/key3/s/\w*$//' test.db
Run Code Online (Sandbox Code Playgroud)