正则表达式 shell 帮助查找含义

正则表达式 shell 帮助查找含义

我从 bash 开始,我有这个表达线。我不知道这是什么意思。

shell 正则表达式中的这一行是什么意思?

find . -name '*.sh' | sed 's#.*/##' | sed 's#\.sh##'

答案1

find语句搜索当前目录及其子目录中以 结尾的所有文件.sh,并每行打印一个文件。

运算ssed将匹配的子字符串替换为其他内容。语法是s<delimiter>regex<delimiter>replacement<delimiter>.通常/用作分隔符但这里#使用了。

替代品两个语句中sed都是空字符串。

因此,第一个语句会切断/文件名中最后一个语句之前的所有内容(即子目录)。第二条语句截掉.sh文件名的后缀。

文件a/subdir/hierarchy/my_script.sh将被打印为my_script.

相关内容