问题描述
文件 1:
A
B
C
D
文件 2 :
C
D
F
G
2 个文件表示
预期输出:
file 1 data should be : "A","B","C","D" -> write to new file : A1.txt
file 2 data should be : "C","D","F","G" -> write to new file : A2.txt
sed -e 's/.*/\"&\"/' /d/file1.txt | tr '\n' ','
给出下面的输出,但末尾有逗号,这是额外的
"A",
注意:文件末尾可能包含空行/空格/制表符 应该被忽略
如何在python中编写相同的脚本
解决方法
使用paste
。
此外,由于您正在编写 CSV,因此您想转义原始数据中存在的任何双引号
sed 's/"/""/g; s/.*/"&"/' filename | paste -s -d,
ruby 对于快速脚本很方便:捆绑的 csv
模块意味着您不必担心边缘情况。
ruby -rcsv -e '
data = File.new(ARGV.shift).readlines(chomp: true)
puts CSV.generate_line(data)
' file