我目前正在学习如何使用grep
awk
sed
。我遇到一个具有以下值的变量的问题:new_file="main_folder/test.txt"
。实际上是一个包含文件的目录。我能够最初使用sed删除文件扩展名。但主要目标是获取从变量new_file
中提取的文件名test
(无扩展名)。我怎么能删除所有的最后和文件扩展名?从变量值中删除所有内容,包括最后一个“/”
到目前为止的一切,我有工作正在删除扩展
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
正则表达式是你的朋友。尝试匹配任何字符后跟一个'/'。这将匹配所有可以删除的dir/subdir/parts。 – JoErNanO 2014-10-09 23:57:56