【发布时间】:2016-06-10 01:33:36
【问题描述】:
如果之前有人问过这个问题,请接受我的歉意。我是新手,不知道该怎么做。我有一个包含如下数据的文件:
name=1|surname=2|phone=3|email=4
phone=5|surname=6|name=7|email=8
surname=9|phone=10|email=11|name=12
phone=13|email=14|name=15|surname=6
我想要一个这样的文件:
name=1
name=7
name=12
name=15
提前致谢!
【问题讨论】:
-
"cat infile | sed 's#|#\n#g' > outfile" 应该可以解决问题。
-
你能解释一下这部分吗? sed 's#|#\n#g'
-
cat infile | sed 's#|#\n#g' > outfile应该可以解决问题。 sed,“流编辑器”的缩写,处理 infile 的内容并将输出重定向到 outfile。s#A#B#g命令将出现的 A 替换为 B;末尾的g表示全局替换(即,每次出现的 A 都被 B 替换)。因此,此命令替换每次出现的“|”在 infile 中用换行符 ("\n") 将结果写入 outfile。
标签: linux shell command-line scripting