{size}より大きいすべてのファイル* .htmlを一覧表示する方法(一部{* parts *}を除く)

{size}より大きいすべてのファイル* .htmlを一覧表示する方法(一部{* parts *}を除く)

ファイルをリストするにはコマンドが必要です。しかし、3つの質問があります。

  1. .HTML次に終わるファイルが欲しいです。.HTM
  2. ファイル名に次の部分が含まれている場合はgoogle docs除外したいと思います。form
  3. 1kbより大きいファイルだけが欲しい

この時点で私は次のコマンドを受けました。

ls *.html *.htm | grep -v 'backup\|form\|docs\|google'

それは非常にうまく動作します。次の単語は除外されます。backup\|form\|docs\|google - ただし、「1kb」より小さいファイルは除外したいと思います。

{size}よりも「大きい」ファイルを表示するすべてのスクリプトは「find」を使用します。誰でもどんなアイデアがありますか?

ベストアンサー1

GNUを使って次を見つけてください。

find . -size +1k -type f -iregex '.*\.html?$' \
    -not -iregex '.*\(backup\|form\|docs\|google\).*'

.*\.html?$名前が正規表現と一致するが正規表現と一致しない1k以上のすべてのファイルを見つけます。.*\(backup\|form\|docs\|google\).*

サブディレクトリではなく現在のディレクトリにのみファイルが必要な場合は、この-maxdepth 1オプションを使用してください。

find . -maxdepth 1 -size +1k -type f -iregex '.*\.html?$' \
    -not -iregex '.*\(backup\|form\|docs\|google\).*'

オプションを追加する-exec ...か。-print0xargs -0r

おすすめ記事