Как tr переводит одно слово в другое?

При загрузке компьютера выберите «Дополнительные параметры для Ubuntu» и выберите другую версию ядра Linux. Он должен исправить ваши проблемы с Wi-Fi, а при загрузке в более старое ядро ​​Linux вы должны попробовать и выполнить любые обновления системы и попробовать снова загрузиться в Ubuntu.

Не беспокойтесь о потере файлов и настроек, как они все равно будут там.

Не уверен, что это на 100% наверняка, но это сработало для меня.

1
задан 17 March 2016 в 19:21

1 ответ

tr предназначен для перевода символов, а не для полных слов. Он может переводить множества. В вашем примере у вас есть «nik-pc» в качестве первых символов коллекции, а «root» - другой. Фактически, k-p - это диапазон, поэтому он включает все символы от k до p. Он будет соответствовать символам один за другим, поэтому n будет переводить на r, i в o, k на o, и все остальное за четвертым символом будет t. Вот почему у вас есть «Рабочий стол», переведенный на «Desottt»

. В этом примере вы можете увидеть это более четко:

$ echo "ABCDEF" | tr "ABCDEF"  "12"                            
122222

Здесь вы можете увидеть tr set 1 have D в позиции 4. Но у набора 2 нет позиции 4, поэтому он будет использовать последний набор позиций, который должен перевести.

То, что вы делаете, означает перевод одного слова в другое. То, что вы хотите сделать, это использовать более продвинутый инструмент, например sed или awk.

Например,

$ ls -l /etc/passwd | awk '{gsub(/root/,"TEST");print}'        
-rw-r--r-- 1 TEST TEST 2575 Feb 29 12:30 /etc/passwd
18
ответ дан 23 May 2018 в 12:47
  • 1
    OR sed s / nik-pc / root / g ma.txt & gt; ma2.txt – Bruni 17 March 2016 в 19:02
  • 2
    Ты был намного быстрее меня @Serg ...: P – Byte Commander 17 March 2016 в 19:08
  • 3
    @ByteCommander Я, возможно, выиграл в скорости, но я думаю, что ваш ответ побеждает в качестве – Sergiy Kolodyazhnyy 17 March 2016 в 19:10

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

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