📜  在列中添加引号并用逗号替换 \n - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:07:58.147000             🧑  作者: Mango

在列中添加引号并用逗号替换 \n - Shell-Bash

在Shell脚本中,通常需要批量处理文本文件中的数据。其中一个操作是将每列数据添加引号并用逗号替换换行符。

我们可以使用sed命令来实现这个操作。下面是示例代码:

sed 's/.*/"&"/; :a; $!{N;ba}; s/\n/,/g' input.txt > output.txt

这个命令中,input.txt是需要处理的文本文件,output.txt是处理后的结果输出文件。

在这个命令中,首先使用s命令在每一行数据前后添加引号。/是分隔符,"表示需要添加的引号。&表示匹配到的模式本身。因为我们想要在每一行前后添加引号,所以使用了.*匹配整个行。

接着,使用:a; $!{N;ba};命令将多行数据合并为一行。$!表示不是最后一行,则执行N将下一行添加到当前行末尾,ba表示跳转到标号a继续执行命令。这个命令会循环执行到最后一行结束。

最后,使用s命令将换行符替换为逗号。g表示全局替换。

最终,处理后的结果会输出到output.txt文件中。

以上就是将每列数据添加引号并用逗号替换换行符的示例代码。在Shell脚本中,需要处理文本数据时,sed是一个非常实用的工具,可以大大提高数据处理效率。

参考链接: