我目前正在学习如何使用grep
awk
sed
。我遇到的问题与具有以下的值的变量:new_file="main_folder/test.txt"
。实际上是一个包含文件的目录。我最初可以使用sed删除文件扩展名。但主要目标是仅获取test
从变量中提取的文件名(无扩展名)new_file
。我怎样才能删除所有文件的末尾和文件扩展名?
到目前为止,我所能做的就是删除扩展程序
new_file=`rev <<< "$new_file" | cut -d"." -f2- | rev`
例子:
输入
new_file="parent_folder/child_folder/file_name.txt"
new_file2="parent_folder/child_folder/sub_child_folder/file_name2.txt"
所需的输出:
file_name
file_name2
您可以使用该basename
实用程序。
$ new_file="parent_folder/child_folder/file_name.txt"
$ x=$(basename "$new_file" .txt)
$ echo "$x"
file_name
还是你的情况
new_file=`basename $new_file | cut -d "." --complement -f2-`
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句