Есть ли другие способы конвертировать текст в регистр заголовков в Linux? ⇐ Linux
-
Anonymous
Есть ли другие способы конвертировать текст в регистр заголовков в Linux?
Я нашел эти команды в Google:
echo "$TEXT" | perl -ane ' foreach $wrd ( @F ) { print ucfirst($wrd)." "; } напечатайте "\n"; '
echo "$TEXT" | sed "s/.*/\L&/; s/[a-z']*/\u&/g"
echo "$TEXT" | sed 's/[^ ]\+/\L\u&/g'
python3 -c "print(\"\"\"$TEXT\"\"\".title())"
NTEXT=(${TEXT,,}) && echo -n "${NTEXT[@]^}"
NTEXT=($TEXT) ; NTEXT="${NTEXT[@]^}" ; echo -n "$NTEXT"
Этот скрипт:
#!/usr/bin/env bash TEXT='Две дороги РАЗЪЕДИНИЛИСЬ в желтом лесу, И извини, я не смог (путешествовать) оба. И будь одним путешественником, долго я стоял И посмотрел «вниз», насколько мог. Туда, где он согнулся в подлеске. echo '============================================= ==================================' echo "Исходный текст:" эхо "$ТЕКСТ" эхо echo '============================================= ==================================' echo "Использование Perl:" эхо "$ТЕКСТ" | perl -ane ' foreach $wrd ( @F ) { print ucfirst($wrd)." "; } напечатайте "\n"; ' эхо echo '============================================= ==================================' echo "Использование sed1:" эхо "$ТЕКСТ" | sed "s/.*/\L&/; s/[a-z']*/\u&/g" эхо echo '============================================= ==================================' echo "Использование sed2:" эхо "$ТЕКСТ" | sed 's/[^ ]\+/\L\u&/g' эхо echo '============================================= ==================================' echo "Использование python3:" python3 -c "print(\"\"\"$TEXT\"\"\".title())" эхо echo '============================================= ==================================' echo 'Использование bash1' NTEXT=(${TEXT,,}) && echo -n "${NTEXT[@]^}" эхо echo '============================================= ==================================' echo 'Использование bash2' НТЕКСТ=($ТЕКСТ) ; NTEXT="${NTEXT[@]^}" ; эхо -n "$NТЕКСТ" эхо Выдает следующий результат:
========================================== ====================================== Оригинальный текст: Две дороги РАЗХОДИЛИСЬ в желтом лесу, И извини, я не смог (путешествовать) оба. И будь одним путешественником, долго я стоял И посмотрел «вниз», насколько мог. Туда, где он изгибался в подлеске. =============================================== ================================ Использование перла: Две Дороги РАЗЪЕДИНИЛИСЬ В ЖЕЛТОМ лесу, И извини, что не смог (путешествовать) Оба И будь одним -путешественник, долго я стоял И посмотрел «вниз», насколько мог. Туда, где он изгибался в подлеске. =============================================== ================================ Использование sed1: Две дороги разошлись в желтом лесу, И извини, что не смог (Путешествие) Оба И будь единым - Путешественник, долго я стоял И посмотрел «вниз», насколько мог. Туда, где он изгибался в подлеске. =============================================== ================================ Использование sed2: Две дороги разошлись в желтом лесу, И извини, что не смог (путешествовать) Оба И будь одним -путешественник, долго я стоял И посмотрел «на один вниз», насколько мог. Туда, где он изгибался в подлеске. =============================================== ================================ Использование Python3: Две дороги разошлись в желтом лесу, И извини, что не смог (Путешествие) Оба И будь единым - Путешественник, долго я стоял И посмотрел «вниз», насколько мог. Туда, где он изгибался в подлеске. =============================================== ================================ Использование bash1 Две дороги расходились в желтом лесу, и, к сожалению, я не мог (путешествовать) обе и быть одной - путешественник, долго я стоял и смотрел «вниз по одной», насколько мог, туда, где она изгибалась в подлеске. =============================================== ================================ Использование bash2 Две дороги расходились в желтом лесу, и, извините, я не мог (путешествовать) обе и быть одной - путешественник, долго я стоял и смотрел «вниз по одной», насколько мог, туда, где она изгибалась в подлеске. sed1 и python3 показывают приемлемые результаты.
Есть ли другие способы преобразования текста в регистр заголовков?
Я нашел эти команды в Google:
echo "$TEXT" | perl -ane ' foreach $wrd ( @F ) { print ucfirst($wrd)." "; } напечатайте "\n"; '
echo "$TEXT" | sed "s/.*/\L&/; s/[a-z']*/\u&/g"
echo "$TEXT" | sed 's/[^ ]\+/\L\u&/g'
python3 -c "print(\"\"\"$TEXT\"\"\".title())"
NTEXT=(${TEXT,,}) && echo -n "${NTEXT[@]^}"
NTEXT=($TEXT) ; NTEXT="${NTEXT[@]^}" ; echo -n "$NTEXT"
Этот скрипт:
#!/usr/bin/env bash TEXT='Две дороги РАЗЪЕДИНИЛИСЬ в желтом лесу, И извини, я не смог (путешествовать) оба. И будь одним путешественником, долго я стоял И посмотрел «вниз», насколько мог. Туда, где он согнулся в подлеске. echo '============================================= ==================================' echo "Исходный текст:" эхо "$ТЕКСТ" эхо echo '============================================= ==================================' echo "Использование Perl:" эхо "$ТЕКСТ" | perl -ane ' foreach $wrd ( @F ) { print ucfirst($wrd)." "; } напечатайте "\n"; ' эхо echo '============================================= ==================================' echo "Использование sed1:" эхо "$ТЕКСТ" | sed "s/.*/\L&/; s/[a-z']*/\u&/g" эхо echo '============================================= ==================================' echo "Использование sed2:" эхо "$ТЕКСТ" | sed 's/[^ ]\+/\L\u&/g' эхо echo '============================================= ==================================' echo "Использование python3:" python3 -c "print(\"\"\"$TEXT\"\"\".title())" эхо echo '============================================= ==================================' echo 'Использование bash1' NTEXT=(${TEXT,,}) && echo -n "${NTEXT[@]^}" эхо echo '============================================= ==================================' echo 'Использование bash2' НТЕКСТ=($ТЕКСТ) ; NTEXT="${NTEXT[@]^}" ; эхо -n "$NТЕКСТ" эхо Выдает следующий результат:
========================================== ====================================== Оригинальный текст: Две дороги РАЗХОДИЛИСЬ в желтом лесу, И извини, я не смог (путешествовать) оба. И будь одним путешественником, долго я стоял И посмотрел «вниз», насколько мог. Туда, где он изгибался в подлеске. =============================================== ================================ Использование перла: Две Дороги РАЗЪЕДИНИЛИСЬ В ЖЕЛТОМ лесу, И извини, что не смог (путешествовать) Оба И будь одним -путешественник, долго я стоял И посмотрел «вниз», насколько мог. Туда, где он изгибался в подлеске. =============================================== ================================ Использование sed1: Две дороги разошлись в желтом лесу, И извини, что не смог (Путешествие) Оба И будь единым - Путешественник, долго я стоял И посмотрел «вниз», насколько мог. Туда, где он изгибался в подлеске. =============================================== ================================ Использование sed2: Две дороги разошлись в желтом лесу, И извини, что не смог (путешествовать) Оба И будь одним -путешественник, долго я стоял И посмотрел «на один вниз», насколько мог. Туда, где он изгибался в подлеске. =============================================== ================================ Использование Python3: Две дороги разошлись в желтом лесу, И извини, что не смог (Путешествие) Оба И будь единым - Путешественник, долго я стоял И посмотрел «вниз», насколько мог. Туда, где он изгибался в подлеске. =============================================== ================================ Использование bash1 Две дороги расходились в желтом лесу, и, к сожалению, я не мог (путешествовать) обе и быть одной - путешественник, долго я стоял и смотрел «вниз по одной», насколько мог, туда, где она изгибалась в подлеске. =============================================== ================================ Использование bash2 Две дороги расходились в желтом лесу, и, извините, я не мог (путешествовать) обе и быть одной - путешественник, долго я стоял и смотрел «вниз по одной», насколько мог, туда, где она изгибалась в подлеске. sed1 и python3 показывают приемлемые результаты.
Есть ли другие способы преобразования текста в регистр заголовков?
Мобильная версия