切割部分字符串

use*_*149 2 linux bash grep parsing sed

可以有人解释我如何使用像sed这样的linux功能来剪切一些字符串.例如,我有刺痛

THIS-some-string-zzz-55.xml
Run Code Online (Sandbox Code Playgroud)

如何剪切".xml"?

结果应该是这样的:

THIS-some-string-zzz-55
Run Code Online (Sandbox Code Playgroud)

谢谢!

kby*_*yrd 5

几种方式:

 basename thisfile.xml .xml
Run Code Online (Sandbox Code Playgroud)

basename是它自己的可执行文件,因此您可以从shell脚本调用它,或者从C或脚本语言执行它.


如果你的shell是bash:

FILE=filename.xml
echo “filename: ${file%.*}”
echo “extension: ${file##*.}”
Run Code Online (Sandbox Code Playgroud)


..最后用sed

echo "filename.xml" | sed 's/\.xml$//'
Run Code Online (Sandbox Code Playgroud)

sed中常规expressin中的'$'将使.xml仅在字符串末尾匹配.