精华内容
下载资源
问答
  • 最近需要利用Shell将多行多文本某一,通过指定的分隔符合并成一行。假设需要处理的文本如下: 我们主要处理的是,将用户名提取处理,合并一行,并通过逗号进行分隔。最终的格式如下: “li1”,”huan”,...

    一、问题描述

    最近需要利用Shell将多行多列文本中某一列,通过指定的分隔符合并成一行。假设需要处理的文本如下:
    这里写图片描述
    我们主要处理的是,将用户名提取处理,合并成一行,并通过逗号进行分隔。最终的格式如下:

    “li1”,”huan”,”wang”,”wu”,”78c”,”zh”,”liu”,”zhao”,”xu”,”yang”

    二、解决方案

    首先是提取每一行的第X列,我最先能够想到的是awk命令,如下

    
    awk  '{print $2}' user1.txt

    效果如下:
    这里写图片描述
    接着,是不是可以把替换符替换为逗号呢?
    使用tr命令

    awk '{print $2}' user1.txt |tr "\n" ","

    效果:
    这里写图片描述
    看着好像是很接近,我们将上面的 , 分隔改为”,”分隔,是不是就okey了呢?命令如下:

    awk '{print $2}' user1.txt |tr "\n" "\",\""

    只是很遗憾,执行效果如下:
    这里写图片描述
    为什么呢?

    因为tr是单个字符处理工具,而不是字符串处理工具。

    既然tr不可以替换字符串,那么咱们就用sed命令。因为sed命令不仅仅可以处理字符,还可以处理字符串。

    先来个简单的,将换行替换成逗号,命令如下:

    awk '{print $2}' user1.txt |sed 's/\n/,/g'

    执行结果如下:
    这里写图片描述
    好吧,竟然不听话。为什么呢?

    因为sed命令处理过程是:从文本流中读取一行文本后,先把换行符去掉,然后进行相应的命令,处理完后再添加上换行符。这就导致sed命令,无法对换行符进行直接替换。

    既然这样行不通,怎么搞呢?

    解决方案一:

    既然sed不能修改换行符,那就是在使用sed之前,把换行符干掉。干掉换行符,可以使用tr和xargs命令。

    #使用xargs命令干掉换行符
    awk '{print $2}' user1.txt |xargs 
    #使用tr命令干掉换行符
    awk '{print $2}' user1.txt |tr "\n" " "

    这里写图片描述
    使用sed命令将空格替换成”,”,命令如下:

    awk '{print $2}' user1.txt |xargs |sed 's/ /","/g'

    这里写图片描述
    但是开头和结尾少了一个双引号,解决方案如下:

    
    echo '"'`awk '{print $2}' user1.txt |xargs |sed 's/ /","/g'`'"'

    解决方案二:

    echo '"'`awk '{print $2}' user1.txt | sed ':label;N;s/\n/","/;b label'`'"'

    这里写图片描述

    更多内容,可以点击这里http://www.findme.wang/blog/detail/id/310.html

    展开全文
  • 文本每三行合并一行

    千次阅读 2017-09-05 17:24:29
    将文本三行合并一行,文本内容如图所示 sed方法:sed 'N;N;s/\n/ /g' 123 说明:N 追加下一个输入行到模式空间,用了两次把当前行的后两行都追加到了模式空间,即多行模式空间。后用s将\n换行符替换成...

    将文本中的三行合并成一行,文本内容如图所示

    CentOS

    sed方法:sed 'N;N;s/\n/ /g' 123

    CentOS

    说明:N 追加下一个输入行到模式空间,用了两次把当前行的后两行都追加到了模式空间,即多行模式空间。让后用s将\n换行符替换成空格。最后的g是全局替换即替换所有的\n,若不加g表示只替换第一个。

    awk方法:awk 'ORS=NR%3?" ":"\n"{print}' 123

    CentOS

    NR当前行记录数,ORS输出记录分隔符。'ORS=NR%3?" ":"\n" 为三目运算,即若NR对3取莫为0,ORS=“\n”,不为0,ORS=“”。

    linux 

    http://www.linuxidc.com/Linux/2012-06/63679.htm

    展开全文
  • pyspark列合并一行

    千次阅读 2019-05-09 20:32:41
    将dataframe利用pyspark列合并一行,类似于sql的GROUP_CONCAT函数。...利用groupby去实现就好,spark里面可以用concat_ws实现,可以看这个SparkSQL列合并一行,而这里的concat_ws合并缺很奇怪,官方...

    将 dataframe 利用 pyspark 列合并为一行,类似于 sql 的 GROUP_CONCAT 函数。例如如下 dataframe :

     

    需要按照列相同的列 d 将 s 合并,想要的结果为:

     

    利用 groupby 去实现就好,spark 里面可以用 concat_ws 实现,可以看这个 Spark中SQL列合并为一行,而这里的 concat_ws 合并缺很奇怪,官方文档的实例为:

     

    作者自己尝试得到:

     

     

    不是想要的效果。而 collect_list 能得到相同的效果:

     

    得到的结果为:

     

    展开全文
  • 将一个文件行合并一行

    千次阅读 2012-06-25 18:44:05
    将一个文件行合并一行,用什么方法最简单? xargs -l2
    
    

    将一个文件中的每两行合并成一行,用什么方法最简单?

    xargs -l2 < file.txt | more
    展开全文
  • 大家平时在查询数据的时候,肯定会遇到需要将一的多个值变成一行; 第一种情况:显示在同一行的同一上 1、新建一个表test 可以参考:https://blog.csdn.net/heqiang525/article/details/90210326 里面的建表...
  • 在Excel如何把每三行数据合并一行? 利用PHONETIC&OFFSET函数 以“吃了吗”个字为例: 在B1插入函数=PHONETIC(OFFSET($A$1,3*(ROW()-1),3))回车 然后用右下角那个标记向下拉即可 PHONETIC函数:...
  • MySQL多列合并,多行合并一行

    千次阅读 2019-01-02 19:33:30
    原本的sql语句: SELECT creater_user_id,file_name FROM t_report WHERE ...两行合并一行(中间用 '_' 连接),sql如下: SELECT CONCAT(creater_user_id,'_',file_name) FROM t_report WH...
  • 而我想同一个人的不同成绩变成此人在这一行不同上显示出来,此时分为2展现: 第一种展现如图(合并后的数据在同一上): sql如下: select name ,group_concat(sore Separator ';') as scor
  • 一、一多行数据合并 ...二、一行列合并 跟一多行合并为一个单元格类似 2.1 在D1单元格输入=A1:C1 2.2 然后按F9键 2.3 最后删除{}和"",全量替换即可,根据需要将";“替换为”,"或其他字符。 ...
  • :在使用 Excel 的时候,会经常的用到合并单元格,而在 HTML 的表格,有时我们也需要将横向的多个单元格或者纵向的多个单元格合并个单元格,如何实现呢?
  • SQL将一行数据合并成 一

    万次阅读 2016-08-19 12:39:33
    由于最近在做项目的时候,要对数据库中一行很多个数据进行求和,便在网上查了一下,首先要用到动态SQL语句,动态sql感觉就是类似于拼接sql字符串 动态语句基本语法 1 :普通SQL语句可以用exec执行 Select * ...
  • 文章出处:mysql多行多列合并一行 mysql> select * from aa; +------+------+ | id| name | +------+------+ |1 | 10| |1 | 20| |1 | 20| |2 | 20| |3 | 200 | |3 | 500 | +------+------+ ...
  • 工作遇到个需求,前端传入参数peopleid(s),根据这个(些)参数去hive查询旅馆,需要返回个success字段,代表这些参数查询有结果的个数。问题在于如何确定哪个peopleid在哪个旅馆住过? 、问题分析: ...
  • 将一的多个值合并一行并用逗号分割 效果 sql语法: mysql写法: --默认的逗号分隔 select GROUP_CONCAT(A.title) as citys from tmpcity A; --用空格分隔 select GROUP_CONCAT(A.title SEPARATOR ...
  • SQLite3多行合并为一列一行

    千次阅读 2016-04-01 14:16:26
    A B  ----------  ...1   1 人  2  2 天 2 李 变成: A B ------------------- 1 ,人 2 ,天,李 --GROUP_CONCAT()函数用来合并列的内容 SELECT A,GROUP_CONC
  • HTML 表格行合并合并

    万次阅读 2019-05-27 19:25:38
    colspan是横向合并;rowspan是纵向合并。 colspan是“column span(跨)”的缩写。...如果我们将colspan设为“2”,则该单元格将只跨越两列,于是有必要在第一行插入另外一个单元格,以确保两行占据相同的...
  • pandas某一列中每一行拆分成多行的方法

    万次阅读 多人点赞 2018-11-29 12:24:11
    在处理数据过程,常会遇到将条数据拆分成多条,比如个人的地址信息,可能有多条地址,既有家庭地址也有工作地址,还有电话信息等等类似的情况,实际使用数据的时候又需要分开处理,这个时候就需要将这条...
  • 关键设定: cmTemplate: {  resizable:false,  sortable: false }, gridComplete: function() { var $grid = $("#ID");...// 第一列的宽度 = 三列宽度总和 var newWidth = $("#kijituMeisaiGrid_startTimeH").w
  • 各位大侠好 需求如下: ![表]...我需要将表的结构转换为下边这样作为数据集输出结果(表二) ![表二](https://img-ask.csdn.net/upload/201601/13/1452664966_778402.png) 求教sql文怎么写?

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 554,588
精华内容 221,835
关键字:

如何让三列中每一行合并