我需要一個通過文本文件的bash腳本,找到以「公共子目錄:」開頭的行和rmdir -rf
這兩個子目錄。行的示例:刪除公共子目錄
公共子目錄:/ DIR1 /迪拉和/ DIR1/DIRB
我是很新的腳本的bash所以任何幫助將是巨大的。
我需要一個通過文本文件的bash腳本,找到以「公共子目錄:」開頭的行和rmdir -rf
這兩個子目錄。行的示例:刪除公共子目錄
公共子目錄:/ DIR1 /迪拉和/ DIR1/DIRB
我是很新的腳本的bash所以任何幫助將是巨大的。
grep 'Common subdirectories: ' < in.txt |\
cut -d: -f2 | cut -d" " -f2,4 |\
while read a b
do
rm -rf "$a" "$b"
done
編輯;添加引用,使用相同的rm命令兩個
下面是一個更完整的例子:
for F in `grep 'Common subdirectories' input.txt | cut -d: -f2 | awk 'BEGIN{RS=" "}{ print }' | tr -d ' '`
do
[ -d "$F" ] && rm -rf $F
done
一個更簡潔的版本:
awk '/^Common subdirectories:/{ system("rm -rf "$3" "$5) }' input.txt
有點短命令:
awk '/Common subdirectories:/ { print $3 " " $5 }' in.txt | xargs -n1 rm -rf
輝煌,謝謝! – Michael
Un * x管道的美妙之處在於您可以一步步構建它們。 – 2011-08-25 13:42:10