linux下如何把多行文本按照规律换成一行呢?跪谢大佬
比如:
// a.txt 处理前
a
b
c
aaa
bbb
ccc
ddd //每行前面可能会有多个空格
fff
gg
gg
gg
// 处理后,字符间使用空格间隔
a b c
aaa bbb ccc
ddd fff gg gg gg
linux下如何把多行文本按照规律换成一行呢?跪谢大佬
比如:
// a.txt 处理前
a
b
c
aaa
bbb
ccc
ddd //每行前面可能会有多个空格
fff
gg
gg
gg
// 处理后,字符间使用空格间隔
a b c
aaa bbb ccc
ddd fff gg gg gg
1 回答1.4k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
1 回答775 阅读✓ 已解决
1 回答1.7k 阅读
2 回答804 阅读✓ 已解决
1 回答974 阅读✓ 已解决
The main idea is read the file line by line.
Print the line except white space if it has other characters.
You can get the characters using regex, then print it.
An example do it with perl:
cat a.txt | perl -ne 's/^\s*(\S+)\n$/\1 /g;print'
The regex will failed when the line only have white space.