![現在のディレクトリでファイルを検索する[閉じる]](https://linux33.com/image/66205/%E7%8F%BE%E5%9C%A8%E3%81%AE%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E6%A4%9C%E7%B4%A2%E3%81%99%E3%82%8B%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
現在、ディレクトリ名を含むtxtファイルがあります。
a.txt
b.txt
私のディレクトリにあるすべてのファイルは次のとおりです。
a.txt
b.txt
c.txt
d.txt
...
txtファイルでファイルを見つけ、現在のディレクトリからファイルを削除する必要があります。私は何をすべきですか?
grep -l "(cat file.txt)" `ls`
これは私には合わない
答え1
私が正しく理解したら、このライナーは次のことを行う必要があります。
while IFS= read -r file; do rm -- "$file"; done <file.txt
答え2
あなたはそれを使用することができますxargs
:
xargs rm -rf -- <file.txt
答え3
あなたの質問を正しく理解したら、ディレクトリ内の特定の種類のファイルを見つけることです。 「検索」コマンドを使用することをお勧めします。
まず、ディレクトリで拡張子が.txtのファイルを探します。
/path/to/directory 検索 -type f -name "*.txt" -print
検索結果に満足したら、次のコマンドを使用してファイルを削除できます。
/path/to/directory 検索 -type -f -name "*.txt" -delete
乾杯!