我是Shell编程的初学者.我目前正在编写脚本来处理找到的文件.但是我需要获取找到文件的父目录名称.例如,
SEARCH_PATH=/home/test
for file in `find $SEARCH_PATH -name "pattern"`;
do
echo $file;
done
/home/test/type1/log/pattern
/home/test/type2/log/pattern
/home/test/type3/log/pattern
我需要做的是在这些文件中找到“模式”,并将祖父母目录的名称更改为“类型”名称…
解决方法:
脏又快:
kent$ dirname $(dirname "/home/test/type1/log/pattern")
/home/test/type1
如果您的文件名中没有/,您也可以使用sed,awk cut….
kent$ echo "/home/test/type1/log/pattern"|sed 's#/[^/]*/[^/]*$##'
/home/test/type1
编辑
仅输入:
基名&目录名:
kent$ basename $(dirname $(dirname "/home/test/type1/log/pattern"))
type1
与awk:
kent$ echo "/home/test/type1/log/pattern"|awk -F'/' '$0=$(NF-2)'
type1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。