编写SHELL脚本以将新行替换为制表符

时间:2011-11-27 11:13:21

标签: bash shell sed newline

  

可能重复:
  Shell script to remove new line after numeric string

我需要编写一个SHELL脚本来删除新行\ n字符串不以数字开头并将其替换为tab \ t或替换为5个空格。例如。 例如,有一个文件:

asasas
12345
adab-123
123

我需要这样的输出:

asasasi   12345
adab-123    123

2 个答案:

答案 0 :(得分:2)

这应该有效 -

[jaypal~/Temp]$ cat file9
asasas
12345
adab-123
123
fffd
223
2323
afdf
23234
带标签的

[jaypal~/Temp]$ sed '/^[0-9]/!{N;s/\n/\t/}' file9
asasas  12345
adab-123    123
fffd    223
2323
afdf    23234

答案 1 :(得分:0)

awk way =)

awk '/^[0-9]/{print} !/^[0-9]/{printf("%s\t", $0)}' file

与Jaypal相同的输出。