我目前正在學習如何使用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