bash - 在 shell 中用逗号替换新行

标签 bash shell scripting sed awk

我想用逗号或空格替换文本中的新行,但不要更改最后一个新行。

我知道这个问题:How to replace newlines with tab characters? - 但它确实会在末尾产生一个制表符而不是新行。

到目前为止,我得到了:

awk 'NR>1{printf","} {printf $1} END{printf"\n"}'

有没有更简单的方法来做到这一点?这不是作业,我只是好奇想提升我的脚本水平。

最佳答案

这可能对你有用:

paste -s -d, file

paste -s -d" " file

关于bash - 在 shell 中用逗号替换新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18041256/

相关文章:

linux - 如何从/etc/services 中提取所有服务?

shell - Unix shell 替换文件中包含反引号的单词

javascript - 单击按钮获取列表中选中复选框的 ID

bash - Azure DevOps 检查以下 bash 脚本(yml 管道)内的 KeyVault 中是否存在密码

macos - 如何在 OSX 上获得内存使用率高水位线

bash - 如何避免函数中的扩展错误杀死 shell?

linux - 使用 telnet 或 netcat 测试外发 SMTP 电子邮件时,我无法结束消息 'with "."on a line by itself'

shell - 在 bash 中删除匹配之前和之后的行(使用 sed 或 awk)?

internet-explorer - Windows PowerShell的IE自动化

bash - 是否可以在一次操作中应用两个匹配模式转换?