SED: первая и последняя пустые строки не удалены - PullRequest
0 голосов
/ 18 января 2012

Я запускаю следующее, но оно возвращается с пустыми строками вверху и внизу нового файла.

Как вывести в новый файл без этих пустых строк?

input | sed -E '/^$/d' > file.txt

Следующее также не имеет никакого эффекта.

sed '1d'  
sed '$d'

Я не уверен, где выражение имеет проблемы.

Ответы [ 3 ]

3 голосов
/ 18 января 2012

Если вам удобно использовать awk, тогда это будет работать -

awk 'NF' INPUT_FILE > OUTPUT_FILE
1 голос
/ 18 января 2012

grep . file_name > outfile сделает всю работу за вас.

0 голосов
/ 18 января 2012

Это может работать для вас:

 echo -e " \t\r\nsomething\n \t \r\n" | sed '/^\s*$/d' | cat -n
 1  something

N.B. Это удаляет все пустые строки, чтобы сохранить пустые строки в теле файла:

echo -e " \t\r\n   something\n \nsomething else \n \t \r\n" | 
sed ':a;$!{N;ba};s/^\(\s*\n\)*\|\(\s*\n\)*$//g'
   something

something else
...