Будьте осторожны с tr, если вы не используете только A – Z. Для других локалей даже '[: lower:]' '[: upper:]' не работает, работают только awk-файлы toupper и bash (v4 +)
$ str="abcåäö"
$ echo "$str"|tr '/a-z/' '/A-Z/'
ABCåäö
$ echo "$str"|LC_ALL=sv_SE tr '[:lower:]' '[:upper:]'
ABCåäö
$ echo "$str"|awk '{print toupper($0)}'
ABCÅÄÖ
$ echo ${str^^} # Bash 4.0 and later
ABCÅÄÖ
$ STR="ABCÅÄÖ"
$ echo ${STR,,}
abcåäö
sed можно использовать для пропуска строк:
sed -s 1d * >> Compile
предполагается, что папка содержит только тестовые файлы; Я тут только что проверил и каталоги совсем не понравились, а хвост справился.
Вы можете использовать команду find, но при необходимости:
find . -maxdepth 1 -type f * | xargs sed -s 1d >> Compile
Добавлен флаг -s
для разделения. Это касается каждого файла отдельно, но только GNU , к сожалению,
Альтернативный метод:
for f in *; do tail -n +2 "$f" >> Compile; done