文件包含完全限定的路径名(例如/aaa/bbb/cc
)。我只需要在文件中搜索/bbb/cc
。/bbb/cc
是执行搜索的bash脚本的参数。
我的问题是参数中的正斜杠:
find . -name '*.txt' -print | xargs grep $1 /dev/null
发布于 2012-01-31 01:54:24
find . -name \*.txt -exec grep `echo $1 | sed -E 's;^/[^/]+;;'` /dev/null \;
sed表达式将从$1
中去掉前导路径部分。由于我们使用的模式中包含斜杠,因此我随意选择分号作为分隔符。它的意思是用一个空格(;;
)代替每一行(只有一行),该行以斜杠开头,后面跟着一个或多个非斜杠字符。
https://stackoverflow.com/questions/9068186
复制相似问题