Bash

正則表達式 shell 幫助查找含義

  • April 27, 2021

我從 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.

引用自:https://unix.stackexchange.com/questions/646986