Запустить последнюю команду со всеми буквами, преобразованными в нижний регистр.

Много раз я запускал команду со всеми буквами в верхнем регистре (возможно, потому, что CapsLock был включен), и я нажал Enter, прежде чем это осознал.

Как я могу запустить последнюю команду со всеми буквами преобразован в нижний регистр?

1
задан 13 May 2014 в 19:19

3 ответа

`echo !! | tr '[:upper:]' '[:lower:]'`

Ключ находится в котировках ` (backticks), который запускает вывод как команду.

6
ответ дан 24 May 2018 в 07:48
  • 1
    Backticks, где невидимый в первой версии ответа, из-за языка разметки. Не нужно ниспровергать (без комментариев) для этого; просто отредактируйте. – Rmano 13 May 2014 в 20:36
  • 2
    tr был бы моим первым выбором. Также работает (альтернатива backticks и без классов POSIX): $( echo !! | tr '[A-Z]' '[a-z]') – belacqua 28 May 2014 в 02:23

здесь приходит ответ программистов .... используйте python:

`echo "print '!!'.lower()" | python`

Или Ruby:

`echo "print '!!'.downcase" | ruby`

Или Perl (возможно, мой любимый):

`perl -e "print lc('!!');"`

Или PHP:

`php -r "print strtolower('!!');"`

Или Awk:

`echo "!!" | awk '{ print tolower($1) }'`

Или Sed:

`echo "!!" | sed 's/./\L&/g'`

Или Bash:

str="!!" ; ${str,,}

Или zsh

echo "A='!!' ; \$A:l" | zsh

Или NodeJS, если он у вас есть:

`echo "console.log('!!'.toLowerCase());" | node`

Вы также можете использовать dd (но я бы не хотел !):

 `echo "!!" | dd  conv=lcase 2> /dev/null`

Вы также можете создать небольшой скрипт для выполнения задания:

sudo bash -c 'cat << EOF > /usr/local/bin/lower
#!/usr/bin/python
import fileinput
print "".join(fileinput.input()).lower(),
EOF' && sudo chmod +x /usr/local/bin/lower

Что вы используете так:

`echo !! | lower`
4
ответ дан 24 May 2018 в 07:48

И тот, у кого есть sed,

$(echo !! | sed 's/^\(.*\)$/\L\1/g')

Пример:

$ SUDO APT-GET UPDATE
SUDO: command not found
$ $(echo !! | sed 's/^\(.*\)$/\L\1/g')

Выход:

$(echo SUDO APT-GET UPDATE | sed 's/^\(.*\)$/\L\1/g')
[sudo] password for avinash: 
0% [Waiting for headers] [Waiting for headers] [Waiting for headers] [Connectin^
1
ответ дан 24 May 2018 в 07:48

Другие вопросы по тегам:

Похожие вопросы: