Unix-将所有行合并为逗号分隔的单行 [英] Unix - combine all rows into a comma-separated single row

查看:43
本文介绍了Unix-将所有行合并为逗号分隔的单行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在文件中的以下各行中包含以下值:
加利福尼亚
纽约
华盛顿
南卡罗来纳州
堪萨斯州

什么是将它们显示在一行中的unix脚本(如下所示)?
加利福尼亚",纽约",华盛顿",南卡罗来纳州",堪萨斯州"
[我不希望有任何中间文件来实现这一点.只是一个回显代码就可以了]

解决方案

使用此命令 tr'\ n'','<输入文件

对于单引号使用 sed -e"s/^/'/" input_file |sed -e"s/$/'/" |tr'\ n'','

(未经测试以解决单引号/双引号转义问题)

对于变量 NEW_VAR = $(echo $ VAR | sed -e"s/^/'/" | sed -e"s/$/'/" | tr'\ n'',')

I have following values in a file in separate lines:
California
New York
Washington
South Carolina
Kansas

What would be unix script to display them in a single line (as showb below)
'California', 'New York', 'Washington', 'South Carolina', 'Kansas'
[I do not want to have any intermediate file to achieve this.. just an echo code is fine]

解决方案

Use this command tr '\n' ',' < input_file

For single quotes use sed -e "s/^/'/" input_file | sed -e "s/$/'/" | tr '\n' ','

(Not tested for single/double quote escaping issues)

For variable NEW_VAR=$(echo $VAR | sed -e "s/^/'/" | sed -e "s/$/'/" | tr '\n' ',')

这篇关于Unix-将所有行合并为逗号分隔的单行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆