2016-07-18 6 views
0

ユーザが自宅内に50のディレクトリを持っているとします。特定のディレクトリだけを削除したい。削除する特定のディレクトリを持つファイルを作成する場合、ファイルの内容に基づいて削除するためにスクリプトを使用できますか?これらを1つずつ削除する必要はありません。日付やその他のパタ​​ーンでは削除できません。テキストファイルに基づいてディレクトリを削除する

+0

あなたの試行は何ですか? – Inian

+1

こちらの方々の多くは、あなたの工芸品を改善するのに喜んでお手伝いしますが、短期間の未払いのプログラミングスタッフとしての幸せはありません。これまでの作業を[MCVE](http://stackoverflow.com/help/mcve)に見せて、あなたが期待していた結果と得られた結果をお見せしましょう。 – ghoti

+0

私はこれを初めて知っていて、広範囲に何も探していないと思っていました。スクリプティングに精通した多くの人が他の誰かに真剣に取り組むことなく頭の上から知ることが簡単な状況であることを期待していました。 – Matt

答えて

0

あなたがしなければならないすべてはあなたがUNIX上にあると仮定すると、テキストファイルを行ごとに1つのディレクトリを持つ「のdirs」と呼ばれている:

cat dirs | xargs rm -rf {\;} 
+0

これはxargsを使用する方法ではありません... – 123

3

はい、それはもちろん可能です。ここでは、ファイルを読み込むための一例である:それはにISN場合

-rをトリミングされることから空白を先頭または末尾

#!/bin/bash 
while IFS='' read -r line || [[ -n "$line" ]]; do 
    echo "Text read from file: $line" 
done < "$1" 

IFS=''防止は

|| [[ -n $line ]]を解釈するためにバックスラッシュを防ぎ、無視されているのあなたの最後の行を防ぎます\n

削除の場合は、エコーを好きなものに置き換えることができます。

+0

これは魅力的に機能しました、ありがとうございます。説明はとても役に立ちました。エコーの代わりに私が使ったのは:rm -R $ line – Matt

0
xargs -r rm -rf <dirs.txt 

ここで、dirs.txtにはディレクトリ名が含まれています。

関連する問題