如何从shell字符串中剪切最后一个字段

时间:2010-12-30 13:44:50

标签: string shell cut

如何剪切此shell字符串中的最后一个字段

LINE="/string/to/cut.txt"

这样字符串就像这样

LINE="/string/to/"

提前致谢!

5 个答案:

答案 0 :(得分:57)

对于它的价值,基于cut的解决方案:

NEW_LINE="`echo "$LINE" | rev | cut -d/ -f2- | rev`/"

答案 1 :(得分:18)

我认为您可以使用“dirname”命令。它接收输入文件路径,删除文件名部分并返回路径。例如:

$ dirname "/string/to/cut.txt"
/string/to

答案 2 :(得分:14)

这将适用于现代Bourne版本,如Dash,BusyBox ash等,以及后代,如Bash,Korn shell和Z shell。

LINE="/string/to/cut.txt"
LINE=${LINE%/*}

或保留最后的斜线:

LINE=${LINE%/*}/

答案 3 :(得分:1)

echo "/string/to/cut.txt" | awk -F'/' '{for (i=1; i<NF; i++) printf("%s/", $i)}'

答案 4 :(得分:0)

echo $LINE | grep -o '.*/'也有效。

相关问题