I'm looking for something to concatenate all files with given extension within a directory, except one. Like:
cat *.txt !(DISCARD.txt) > catKEPT
This should concatenate all *.txt files in directory, except DISCARD.txt.
I'm looking for something to concatenate all files with given extension within a directory, except one. Like:
cat *.txt !(DISCARD.txt) > catKEPT
This should concatenate all *.txt files in directory, except DISCARD.txt.
If you are using bash (most of the time this is the case), you may use the extglob shell option that will extend your shell with a more powerful pattern matching syntax.
You can turn it on with shopt -s extglob, and turn it off with shopt -u extglob.
In your example, you would simply do:
$ shopt -s extglob
$ cat -- !(DISCARD).txt > catKEPT
You can find more about this command in this StackOverflow answer.