Как обычно, в Linux существует более одного способа выполнения задачи.

Чтобы преобразовать файл (input.txt) во все строчные буквы (output.txt), выберите любой ОДИН из следующих способов:

Чтобы преобразовать файл (input.txt) в строчный регистр (output.txt)

1. dd: Возможно, вы использовали dd для многих других целей, но его можно использовать и для преобразования текста.

$ dd if=input.txt of=output.txt conv=lcase

2. tr: Вы можете перевести все прописные символы (A-Z) в строчные (a-z), используя команду tr и указав диапазон символов, как показано ниже:

В tr также есть специальный синтаксис для указания такого рода диапазона для преобразования верхнего и нижнего регистра:

$ tr '[:upper:]' '[:lower:]' < input.txt > output.txt

3. awk: awk имеет специальную функцию tolower для преобразования прописных букв в строчные.

$ awk '{ print tolower($0) }' input.txt > output.txt

4. perl:

$ perl -pe '$_= lc($_)' input.txt > output.txt

5.sed:

$ sed -e 's/\(.*\)/\L\1/' input.txt > output.txt

Мы используем обратную ссылку \1 для ссылки на всю строку и \L для преобразования в нижний регистр.

Чтобы преобразовать файл (input.txt) во все верхние регистры (output.txt)

1. dd: Используйте следующую команду для преобразования нижнего регистра в верхний.

$ dd if=input.txt of=output.txt conv=ucase

2. tr: Вы можете перевести все строчные символы (a-z) в верхний регистр (A-Z), используя команду tr и указав диапазон символов, как показано ниже:

$ tr 'A-Z' 'a-z' < input.txt > output.txt

В tr также есть специальный синтаксис для указания такого рода диапазона для преобразования верхнего и нижнего регистров:

$ tr '[:lower:]' '[:upper:]' < input.txt > output.txt

3. awk: awk имеет специальную функцию toupper для преобразования строчных букв в прописные.

$ awk '{ print toupper($0) }' input.txt > output.txt

4. perl:

$ perl -pe '$_= uc($_)' input.txt > output.txt

5. sed:

$ sed -e 's/\(.*\)/\U\1/' input.txt > output.txt

 

Поделитесь статьей:

Добавить комментарий