Да, вы можете удалить только один ключ. Просто откройте его в редакторе и удалите оскорбительную строку. Число после двоеточия в сообщении об ошибке - номер строки, поэтому это строка для удаления - строка 1 в вашем примере ..
В Unicode очень мало методов:
GNU sed 4.2.2 works:
$ echo "Idą gęsi łąką" | sed 's/.*/\U&/'
IDĄ GĘSI ŁĄKĄ
bash 4.2.45 объявить работает work:
$ typeset -u ucase; ucase="Idą gęsi łąką"; echo $ucase
IDą GęSI łąKą
bash 4.2.45 расширение параметра не работает:
$ str="Idą gęsi łąką"; echo ${str^^}
IDą GęSI łąKą
bash 4.3.42 declare и параметр расширение не :
$ declare -u ucase
$ ucase="Idą gęsi łąką"
$ echo $ucase
IDĄ GĘSI ŁĄKĄ
$ echo ${ucase,,}
idą gęsi łąką
GNU tr 8.20 не работает:
$ echo "Idą gęsi łąką" | tr '[:lower:]' '[:upper:]'
IDą GęSI łąKą
[d14 ] mawk (по умолчанию awk в Ubuntu 13.10) работает не : $ echo "Idą gęsi łąką" | mawk '{print toupper($0)}'
IDą GęSI łąKą
gawk works:
$ echo "Idą gęsi łąką" | gawk '{print toupper($0)}'
IDĄ GĘSI ŁĄKĄ
Perl pure uc () делает works work:
$ echo "Idą gęsi łąką" | perl -ne 'print uc($_);'
IDą GęSI łąKą
Python 2 без подсказок Unicode не работает:
$ echo "Idą gęsi łąką" | python -c 'import sys; print sys.stdin.read().upper(),'
IDą GęSI łąKą
Python 2, когда ему поручено работать с Unicode not :
$ echo "Idą gęsi łąką" | python -c 'import sys; print sys.stdin.read().decode("utf-8").upper(),'
IDĄ GĘSI ŁĄKĄ
Python 3 works:
$ echo "Idą gęsi łąką" | python3 -c 'import sys; print(sys.stdin.read().upper(), end="")'
IDĄ GĘSI ŁĄKĄ
Я бы использовал команду bash internal typeset или declare для определения строчной переменной.
$ typeset -l lcase
$ lcase="LoWeR cAsE"
$ echo $lcase
lower case
Символы опущены, когда значение установлено, а не когда вы набираете переменную. Так что лучше набирать в начале скрипта. Для верхнего регистра вы можете набирать .
$ typeset -u ucase
$ ucase="Upper cAsE"
$ echo $ucase
UPPER CASE
Это не относится к оболочке bash, которая работает также и в ksh, возможно, в определении оболочки POSIX.
] EDIT: Многие люди нежно указали на то, что набор слов теперь считается устаревшим на bash и заменен на declare . Обе команды эквивалентны.
$ help typeset
typeset: typeset [-aAfFgilrtux] [-p] name[=value] ...
Set variable values and attributes.
Obsolete. See `help declare'.
$ help declare
declare: declare [-aAfFgilrtux] [-p] [name[=value] ...]
Set variable values and attributes.
Это не относится к оболочке bash, которая работает также и в ksh, возможно, в определении оболочки POSIX.
Вы можете сделать это с помощью команды tr.
В терминале (Ctrl + Alt + T)
Эта команда:
echo 'String here' | tr "[:lower:]" "[:upper:]"
] будет преобразовывать строчные буквы в верхний регистр.
echo 'STRING HERE' | tr "[:upper:]" "[:lower:]"
преобразует прописные буквы в нижний регистр.
Пример:
Кредит переходит к кибернетичности
Вы также можете передавать вещи через sed:
$ echo lowercase | sed 's/.*/\U&/'
LOWERCASE
И \L будет иметь противоположный эффект:
$ echo UPPERCASE | sed 's/.*/\L&/'
uppercase
Это не чистое решение bash, но вы можете транслировать свои строки через perl (как сделал Оли с sed):
$ echo lowercase | perl -ne 'print "\U$_"'
LOWERCASE
И \L будет иметь противоположный эффект:
$ echo UPPERCASE | perl -ne 'print "\L$_"'
uppercase
Используйте эту простую команду. В верхнем и нижнем регистре. Где «f» - это имя файла, в котором вы хотите выполнить преобразование.
tr "A-Z" "a-z" < f
Для нижнего к верхнему регистру
tr "a-z" "A-Z" < f