我有一个包含一些事件的文本日志文件,我想修改它以提高可读性和打印格式。
我有:
$cat myfile
foo bar foo bar
1.
1. foo bar
1:00
10.
3. foo bar
3:02
11.
4. foo
5:01
foobar foo
11.
foobar foo
3:48
2.
foobar foo
4:18
我想要的是:
$cat myfile
foo bar foo bar
1. 1. foo bar 1:00
10. 3. foo bar 3:02
11 4. foo 5:01
foobar foo
11. foobar foo 3:48
2. foobar foo 4:18
感谢任何帮助!谢谢!
最佳答案
通过将记录设置为段落模式
awk -v RS= '{$1=$1}1'
你会得到
foo bar foo bar
1. 1. foo bar 1:00
10. 3. foo bar 3:02
11. 4. foo 5:01
foobar foo
11. foobar foo 3:48
2. foobar foo 4:18
要添加额外的空行,需要一些补充
awk -v RS= '{$1=$1; t=!/[0-9]\./;
if(NR>1 && t) print "";
print;
if(t) print ""}'
得到
foo bar foo bar
1. 1. foo bar 1:00
10. 3. foo bar 3:02
11. 4. foo 5:01
foobar foo
11. foobar foo 3:48
2. foobar foo 4:18
关于linux - 使用 sed 或 awk 将某些行中的换行符替换为空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47739706/