21

new-filesbashコマンドを使用して、Linuxの別のフォルダーからフォルダーに存在するすべてのファイルを削除したい。

これは次の 2 つの目的で必要です。

  • 事前に構成された構成ファイルをコピーするセットアップ スクリプトをいくつか取得しました。これらのファイルを再度削除するオプションが欲しい
  • ファイルをパックする人がすべてをアーカイブのルートに置くため、アーカイブがサブディレクトリではなく、ダウンロード ディレクトリのルートに解凍されることがあります。

それを行う最善の方法は何ですか?

明確にするために編集します。

  1. というファイルを含むフォルダーを取得しましたnew-files
  2. 今私は実行しcp -r new-files/* other-directory/ます。
  3. other-directory は、コピーしたいディレクトリではありませんが、既に他のファイルが含まれているため、rm other-directory/* を実行することはできません。
  4. 誤ってコピーしたすべてのフォルダーを削除する必要があります。それ、どうやったら出来るの?
4

3 に答える 3

6

あなたから:

明確にするために編集します。

  1. というファイルを含むフォルダーを取得しましたnew-files
  2. 今私は実行しcp -r new-files/* other-directory/ます。
  3. other-directory は、コピーしたいディレクトリではありませんが、既に他のファイルが含まれているため、rm other-directory/* を実行することはできません。
  4. 誤ってコピーしたすべてのフォルダーを削除する必要があります。それ、どうやったら出来るの?

元のディレクトリをループして、次new-files/の同じ名前のファイルを削除できますother-directory/

for file in /new-files/*
do
   rm /other-directory/"$file"
done
于 2013-05-27T13:00:50.610 に答える
2

あなたが望むことをするためのweスクリプト:

pushd `pwd`
cd /path/to/new-files
x=`find . -type f`
popd

echo $x | xargs rm
于 2013-05-27T12:47:44.243 に答える