linux - 如何替换 CSV 文件中的所有换行符,包括最后一个
问题描述
我想'\n'
用更长的字符串替换每行中的字符,例如:"___\n"
.
当我尝试:
$ cat /tmp/test.csv | sed ':a;N;$!ba;s/\n/____\n/g'
我得到以下输出
"00000";"29515470";"001";"001";"A6399000800";"";"";"-1";"142.72";"1.00";"1.00"____
"91930";"20029956";"001";"002";"A2128300018";"";"";"-1";"71.58";"1.00";"4.00"____
"91930";"20029962";"001";"003";"ZZ-OIL16";"";"";"-1";"14.48";"5.00";"3.00"____
"91930";"20029962";"001";"002";"A2661800009";"";"";"-1";"13.28";"1.00";"3.00"
最后一个 '\n' 没有被替换。
如何替换所有\n
字符?
我发现了这个:
如何使用 sed 替换换行符 (\n)?
,但这个解决方案对我不利,因为它不处理最后一个'\n'
字符。
解决方案
使用sed
:
$ cat > foo
this
that
$ sed 's/$/__/g' foo
this__
that__
$ sed 's/$/__/g' foo | hexdump -C
00000000 74 68 69 73 5f 5f 0a 74 68 61 74 5f 5f 0a |this__.that__.|
0a
到底。
PS。注意没有用cat
的。
推荐阅读
- java - 将列表列表写入文本文件 Java
- amazon-cloudformation - CloudFormation:如何在条件下使用 Fn::Import 值?
- php - 如何将日期范围拆分为具有来自用户输入的特定数组的数组?
- reactjs - Highcharts 错误:“无法读取未定义的属性‘addEvent’”等
- r - 我的代码的哪一部分导致了这个错误:离散值提供给连续规模
- javascript - 如何更改日期格式?
- angular - “AbstractControl”类型上不存在属性“控件” - angular8
- firebase - 在 Firebase 动态链接中使用自定义域时,FirebaseDynamicLinksCustomDomains plist 中是否允许使用通配符?
- android - 如何在 Android Ui 中使用资产?
- java - 鼠标侦听器不会引发错误但不会触发(java)