介绍:

我得到了一个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. Qt的Oracle数据库QOCI驱动问题
  2. Python的内存管理、命名规则、3个特性讲解
  3. MySQL基础总结(二)
  4. 没有bug队——加贝——Python 练习实例 37,38
  5. 并查集——最小连接路径和Kruskal(hdu1301)
  6. 你们喜欢一个人旅行,还是有人陪伴旅行?
  7. 工具-Sublime Text:便捷设置 小三角
  8. Failed to restart docker.service: Unit is masked.真正的解决办法
  9. 【项目管理】------九大项目管理框架 (
  10. Vivaldi for Mac(极速浏览器)支持m1
  11. [转]微信小程序之购物车功能
  12. IIR滤波器和FIR滤波器
  13. Linux驱动开发|USB驱动
  14. 张晓龙2018微信公开课
  15. 绘制qq群的基础用例图_首次绘制出“氟化氢”地图:间接实现追踪宇宙中最常见的分子氢!...
  16. Linux源码目录结构
  17. HTML和CSS实现京东首页(附GitHub地址)
  18. 电影天堂React Native 客户端V2.0发布
  19. 健身类小程序前后端源码
  20. GPIO口配置为上拉,下拉输入

热门文章

  1. 华为交换机配置远程管理地址
  2. 看门狗Watchdog
  3. linux设备上的Onvif 实现6:获取摄像头的流媒体地址完整流程
  4. ES7、ES8、ES9、ES10新特性
  5. 长沙职业技术学院计算机网络技术,长沙民政职业技术学院计算机网络技术专业...
  6. 白话点云dgcnn中的pairwise_distance
  7. s3c2410 NandFlash K9F1208U0A/ K9F1208U0B的读取操作
  8. 我来比较好国企和好外企
  9. 请帮我用一下描述画一幅画
  10. 李淼量子计算机,大科学家李淼给孩子讲量子力学 一同探索世界真相