1つを除くCatファイル[重複]

1つを除くCatファイル[重複]

特定の拡張子を持つディレクトリ内のすべてのファイル(1つを除く)をリンクする方法を探しています。良い:

cat *.txt !(DISCARD.txt)  > catKEPT

これにより、DISCARD.txtを除くディレクトリ内のすべての* .txtファイルをリンクする必要があります。

答え1

find . -maxdepth 1 -iname '*.txt' -not -name 'DISCARD.txt' -exec cat {} +>catKEPT

答え2

bash(ほとんどの場合)を使用している場合は、extglobシェルオプションを使用できます。このオプションは、より強力なパターンマッチング構文でシェルを拡張します。

で開閉shopt -s extglobできますshopt -u extglob

あなたの例では、次のことを行います。

$ shopt -s extglob
$ cat -- !(DISCARD).txt > catKEPT

このコマンドの詳細については、ここで確認できます。スタックオーバーフロー回答

関連情報