2010-07-29 2 views
0

У меня есть файл, глядя, как это,Странность с помощью/USR/XPG4/bin/тр и/USR/бен/тр на Solaris 9

"xxxxxx" 
"yyyyyy" 
"aaaaaa" 
"cccccc" 
"bbbbbb" 
"eeeeee" 
"oooooo" 
"zzzzzz" 

Желая заменить каждый \n в этом файле я использую:

tr '\n' ',' <INPUT> OUTPUT 

Который работает нормально. Выход следует ожидать:

"xxxxxx","yyyyyy","aaaaaa","cccccc".... 

Однако

Я не могу делать какие-либо манипуляции с помощью sed или awk на этом файле, ни один, что так всегда (результат всегда пустой, как: sed 's/,/hello/g' ничего не отображает), в Linux с использованием пакета GNU это отлично работает, но с GNU нет. Может ли кто-нибудь сказать мне, почему это?

ответ

2

Возможно, это потому, что вы заменили последнюю новую строку запятой. Поэтому не GNU sed и awk просто останавливаются в конце файла и не анализируют строку, потому что она не заканчивается \n.

+0

Да, вы, вероятно, правы, я просто использовал 'awk' для удаления новых строк, и результат тот же. Просто верните результат, не удаляя последний '\ n' – Anders

+0

Действительно, это был правильный ответ. – Anders

 Смежные вопросы

  • Нет связанных вопросов^_^