Bash
正則表達式 shell 幫助查找含義
我從 bash 開始,我有這個表達式行。我不知道它是什麼意思。
shell正則表達式中的這一行是什麼意思?
find . -name '*.sh' | sed 's#.*/##' | sed 's#\.sh##'
該
find
語句在目前目錄及其子目錄中搜尋所有以 結尾的文件,.sh
並每行列印一個文件。替換
s
運算符將子字元串與其他內容匹配。sed
語法是s<delimiter>regex<delimiter>replacement<delimiter>
. 通常/
用作分隔符,但在這裡#
使用。兩個語句中的替換
sed
都是空字元串。因此,第一條語句切斷
/
了文件名中最後一條之前的所有內容(即子目錄)。第二條語句切斷.sh
文件名的後綴。文件
a/subdir/hierarchy/my_script.sh
將列印為my_script
.