【发布时间】:2020-03-31 10:24:41
【问题描述】:
我是 bash 新手,但我不确定如何执行以下操作: 我有一个格式为的文本文件:
123
John
234
Sally
456
Lucy
...
我想以如下形式输出到 csv 文件:
123,John
234,Sally
456,Lucy
...
【问题讨论】:
我是 bash 新手,但我不确定如何执行以下操作: 我有一个格式为的文本文件:
123
John
234
Sally
456
Lucy
...
我想以如下形式输出到 csv 文件:
123,John
234,Sally
456,Lucy
...
【问题讨论】:
sed 干得好:
sed '/[0-9]/{N;s/\n/,/}' txtfile
它检测带有数字的行,并在找到时用逗号替换换行符。
如果你还想去掉中间的空行,
sed '/[0-9]/{N;s/\n/,/;n;d}' txtfile
请注意,如果您的文件与您提供的示例一样常规,您甚至不需要正则表达式,'N;s/\n/,/;n;d' 就足够了。
【讨论】: