команда tr не работает

#sed #awk #tr

#sed #awk #tr

Вопрос:

Привет всем здесь, у меня проблема. У меня есть файл, в котором есть некоторые данные, подобные этому

  • манго
  • Apple
  • Оранжевый
  • виноград

Когда я запускаю команду

  tr 'n' ' ' < file.txt
  

Она работает нормально;
вывод был:

  mango apple orange grapes
  

но у меня есть другой файл, в котором есть такие данные

  • 12029
  • SIDRASHAHID
  • 7(outof471)

но приведенная выше команда с ней не работает. Проблема в том, что в файле есть числовые данные?

Я даже пробовал sed, но потерпел неудачу.

Может ли кто-нибудь сказать мне, есть ли способ, с помощью которого я могу записать эти данные в одну строку?

Комментарии:

1. Что вы видите? Может ли проблема заключаться в том, что в файле есть возвраты каретки (окончания строк CRLF с компьютера с Windows)? Если это так, вы, вероятно, увидите ‘7 (outof471)’ в качестве выходных данных.

2. да, сэр, это из-за возврата каретки, спасибо

Ответ №1:

Преобразование комментария в ответ, поскольку он кажется точным:

Что вы видите? Может ли проблема заключаться в том, что в файле есть возвраты каретки (окончания строк CRLF с компьютера с Windows)? Если это так, вы, вероятно, увидите ‘7 (outof471)’ в качестве выходных данных.

Ответ №2:

 $ cat file.txt 
12029
SIDRASHAHID
7(outof471)
  

использовать echo $() :

 $ echo $(cat file.txt)
12029 SIDRASHAHID 7(outof471)
  

Если вы все еще хотите использовать sed , вы можете:

 $ sed -e :a -e '$!N; s/n/ /; ta' file.txt 
12029 SIDRASHAHID 7(outof471)
  

Комментарии:

1. Сэр, он печатает только 7 (outof471)

2. используйте sed пример, который я опубликовал. Поскольку ваша оболочка может не быть… «стандартный».

Ответ №3:

попробуйте это:

 awk '{printf $0}' yourFile