介绍:

我得到了一个CSV文件,其中字段分隔符是管道分类(即|).

此文件具有预定义数量的字段(例如N).我可以通过读取CSV文件的标题来发现N的值,我们可以认为这是正确的.

问题:

一些字段错误地包含换行符,这使得该行看起来比所需的短(即,它具有M个字段,其中M

if [ $# -ne 1 ]

then

echo "Usage: $0 "

exit

fi

# get first line

first_line=$(head -n 1 $1)

# get number of fields

num_separators=$(echo "$first_line" | tr -d -c '|' | awk '{print length}')

cat $1 | awk -v numFields=$(( num_separators + 1 )) -F '|' '

{

totRecords = NF/numFields

# loop over lines

for (record=0; record < totRecords; record++) {

output = ""

# loop over fields

for (i=0; i

j = (numFields*record)+i+1

# replace newline with question mark

sub("\n", "?", $j)

output = output (i > 0 ? "|" : "") $j

}

print output

}

}

'

但是,换行符仍然存在.

我该如何解决这个问题?

CSV示例:

FIRST_NAME|LAST_NAME|NOTES

John|Smith|This is a field with a

newline

Foo|Bar|Baz

预期产量:

FIRST_NAME|LAST_NAME|NOTES

John|Smith|This is a field with a * newline

Foo|Bar|Baz

* I don't care about the replacement, it could be a space, a question mark, whatever except a newline or a pipe (which would create a new field)

linux awk 设置换行符,shell – awk / sed替换换行符相关推荐

  1. shell:sed 替换换行符

    一.文本特征:一首现代诗 滚滚长江 东逝水,浪花淘尽 英雄.是非成败转头 空.青山 依旧在,几度夕阳红.白发渔樵 江渚上,惯看秋月 春风.一壶浊酒喜相逢.古今多少事,都付笑谈中.--<临江仙&g ...

  2. linux中excel的换行符,Excel skill: 如何替换换行符,以及如何把一格转换成多行/多列...

    增加一辅助列,用替换函数替换掉软回车. 比如A列是数据,从A1开始,则插入B列,B1输入公式 =REPLACE(A1,FIND(CHAR(10),A1),1,"") 再用填充柄向下 ...

  3. shell运用sed删除换行符 ,并去掉空格

    文本示例: [abc] [efg][ag] [bd] 目标:去掉换行,并去掉所有的空格 [abc][efg][ag][bd] #sed ':a;N;$!ba;s/\n/ /g' :a;N;$!ba;是 ...

  4. Linux 替换字符 换行,sed将换行替换成空格或者其他字符linux操作系统 -电脑资料...

    昨天有一同学问我如何利用shell的sed将换行替换成空格或者其他字符呢,下面小编来给大家介绍一下常用替换方法吧, sed流编辑器是shell中处理文本内容的一大利器.sed命令从文本流中读取一行文本 ...

  5. Linux高级专题详解--shell编程大全(shell变量,if语句,case语句,for循环,while循环,函数调用,数组,正则表达式,shell脚本三剑客--grep,sed,awk家族)

    shell编程 初始shell 程序 语言 编程 ---------------------------------- 语言 自然语言:汉语.英语 计算机语言:c语言.c++.(java php py ...

  6. shell awk sed tr grep 语法汇总

    原文地址:http://www.cnblogs.com/wajika/p/6374043.html tr 基本语法 -c          # 用字符串1中字符集的补集替换此字符集,要求字符集为ASC ...

  7. linux shell awk 语法

    引用:http://blog.csdn.net/weekly123/article/details/1465675 inux shell awk 语法     Awk 是一种非常好的语言,同时有一个非 ...

  8. linux shell awk用法

    Awk 是一种非常好的语言,同时有一个非常奇怪的名称.在本系列(共三篇文章)的第一篇文章中,Daniel Robbins 将使您迅速掌握 awk 编程技巧.随着本系列的进展,将讨论更高级的主题,最后将 ...

  9. linux shell awk BEGIN END 处理文本之前之后执行操作 简介

    目录 简介 1 最简单的action 既没有pattern 有没有options 2 awk是逐行处理 2.1 输出整行 2.2 输出最后一列 2.3 输出倒数第二列 3 pattern 3.1 be ...

最新文章

  1. 【转】oracle having -OCP-047-53
  2. 共享语义 unix语义_语义UI按钮
  3. Packet Tracer 通过配置静态路由实现不同网段之间的通信(详细步骤)
  4. linux内存操作--ioremap和mmap
  5. MySQL主键和外键使用及说明
  6. 运行php程序cpu 100%,php 应用 cpu 100% 调试方法
  7. Selenium3元素定位详解与封装
  8. Mac下查看Git的安装目录
  9. 在fmri研究中,cca的应用历史
  10. 一文详解python的类方法,普通方法和静态方法
  11. Linux SendMail发送邮件失败诊断案例(四)
  12. Qt简单实现UDP通信
  13. think-cell 数据表无法打开怎么办
  14. 华为鸿蒙os2.0beta版发布会,华为发布鸿蒙OS Beta版,华为鸿蒙2.0适应范围以及优势所在...
  15. 群智能优化算法学习规划
  16. 如何下载VMWare虚拟机如何安装VMWare详细教程
  17. Vivado IP核之复数浮点数乘法 Floating-point
  18. vmware虚拟机镜像制作成QCOW2
  19. 真·抢显卡!四川一团伙持 40cm 长刀入室抢劫 50 余张显卡,总价值超 10 万元
  20. VoxCeleb2:深度说话人识别

热门文章

  1. stateflow入门学习笔记
  2. 实在RPA专家课:AI+RPA如何赋能电商的数智化升级
  3. nginx:rewrite 和 proxy_pass
  4. 长春长生们究竟卖到了哪里去?
  5. 利用FSL进行核磁数据处理(使用GUI/代码)
  6. bootstrap仿Ghost开源博客主页
  7. Unknown column ‘avatar_url‘ in ‘field list‘
  8. 短信验证登录淘宝web页面(selenium+Chromedriver)
  9. 【CF98E】Help Shrek and Donkey(博弈,纳什均衡)
  10. js的节点操作动态创建table表格,创建行,删除行