grep - 匹配文件中前导空格的路径

时间:2017-02-10 23:49:43

标签: regex linux grep

尝试匹配导致文件中脚本的路径。 路径都以空格开头,如下所示:

bla bla    
23 01 * * 2,3,4,5,6 /folder/folder/script.sh
bla bla    
23 01 * * 2,3,4,5,6 /folder/folder/folder/script2.sh

到目前为止我得到了这个:

grep -o "^[[:space:]].*\.sh" fullList.txt

它使用脚本获取行,但不仅仅是路径。 我将如何返回这样的路径:

/folder/folder/script.sh
/folder/folder/folder/script2.sh

感谢。

1 个答案:

答案 0 :(得分:1)

由于这是crontab格式(man 5 crontab),我们可以忽略前5列:

awk '{ $1=$2=$3=$4=$5=""; print; }'

由于您的crontab中可能有注释,因此您也需要删除它们:

grep -v '^\s*#'

把它放在一起:

grep -v '^\s*#' fullList.txt | awk '{ $1=$2=$3=$4=$5=""; print; }'