Linuxでソースコードベースのファイル形式を削除する方法は?

Linuxでソースコードベースのファイル形式を削除する方法は?

テキストとソースコードで構成されるスクラップされた生ファイルのリストがあります。以下はリストされたファイル形式です。 Cソース、Pythonスクリプト、HTML、および空のファイルタイプのすべてのファイルを削除し、ASCIIファイルとUnicodeファイルのみを維持したいと思います。

file *
1dW6WJMN.txt:  Python script, ASCII text executable
9dJbZ3Vv.txt:  ASCII text, with CRLF line terminators
9dQsmVU4.txt:  Python script, UTF-8 Unicode text executable, with CRLF line terminators
A5hENB7D.txt:  C source, ASCII text, with CRLF line terminators
cidREdJG.txt:  UTF-8 Unicode text, with very long lines, with CRLF line terminators
exhjw1gK.txt:  UTF-8 Unicode text, with CRLF line terminators
iu7LPrqz.txt:  ASCII text, with very long lines, with CRLF line terminators
LsDHarjD.txt:  ASCII text
nLABt1a6.txt:  C source, ASCII text, with CRLF line terminators
nqMDtVuz.txt:  ASCII text, with CRLF line terminators
nqPuYb23.txt:  UTF-8 Unicode text, with CRLF line terminators
nQtzxhfQ.txt:  ASCII text, with CRLF line terminators
NQuLWwpt.txt:  ASCII text, with CRLF line terminators
nQXeJeED.txt:  ASCII text, with CRLF line terminators
nqXGv6ws.txt:  UTF-8 Unicode text, with CRLF line terminators
nQxr4Hwi.txt:  ASCII text, with CRLF line terminators
nQxr4Hwii.txt: empty
VQjrxevh.txt:  HTML document, UTF-8 Unicode text, with very long lines, with CRLF line terminators
yfDEfn4L.txt:  C source, ASCII text, with CRLF line terminators
yydAEDRn.txt:  HTML document, ASCII text, with very long lines, with CRLF line terminators

ASCIIで単純なgrepを試しましたが、すべてのソースコードファイルにはASCIIという用語も含まれています。時には削除したいPHP、JavaScriptファイルがあるので、これらのソースコードファイルをフィルタリングする他の方法はありますか?私はLinuxに初めて触れました。助けてくれてありがとう。事前にありがとう

答え1

より長いパターンを試してみてください。スペース、タブ、または複数の単語を含むパターンを使用できます。また、パイプを使用する増分方法をお勧めします。

$ file * | egrep -v 'ASCII text|Unicode text' | sed 's/: ..*$//'

目的のファイル名のリストが表示されない場合は、上矢印をクリックしてファイルの一部または他の部分と一致するようにパターンを編集します。file

最後のステップは、出力をコマンドでいっぱいのファイルに送信することです。

$ file * | egrep -v 'ASCII text|Unicode text' | sed -e 's/: ..*$//' -e 's/^/rm / > commands

commandsファイルの内容の正確性を確認すると、最後の面倒な状況を排除できます。パイプラインを使用して95%の目標を達成し、手動で編集します。恥ずかしいことはありません。次に、パイプによって作成されたコマンドを実行します。

$ sh ./commands

関連情報