linux awk 设置换行符,shell – awk / sed替换换行符
介绍:
我得到了一个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替换换行符相关推荐
- shell:sed 替换换行符
一.文本特征:一首现代诗 滚滚长江 东逝水,浪花淘尽 英雄.是非成败转头 空.青山 依旧在,几度夕阳红.白发渔樵 江渚上,惯看秋月 春风.一壶浊酒喜相逢.古今多少事,都付笑谈中.--<临江仙&g ...
- linux中excel的换行符,Excel skill: 如何替换换行符,以及如何把一格转换成多行/多列...
增加一辅助列,用替换函数替换掉软回车. 比如A列是数据,从A1开始,则插入B列,B1输入公式 =REPLACE(A1,FIND(CHAR(10),A1),1,"") 再用填充柄向下 ...
- shell运用sed删除换行符 ,并去掉空格
文本示例: [abc] [efg][ag] [bd] 目标:去掉换行,并去掉所有的空格 [abc][efg][ag][bd] #sed ':a;N;$!ba;s/\n/ /g' :a;N;$!ba;是 ...
- Linux 替换字符 换行,sed将换行替换成空格或者其他字符linux操作系统 -电脑资料...
昨天有一同学问我如何利用shell的sed将换行替换成空格或者其他字符呢,下面小编来给大家介绍一下常用替换方法吧, sed流编辑器是shell中处理文本内容的一大利器.sed命令从文本流中读取一行文本 ...
- Linux高级专题详解--shell编程大全(shell变量,if语句,case语句,for循环,while循环,函数调用,数组,正则表达式,shell脚本三剑客--grep,sed,awk家族)
shell编程 初始shell 程序 语言 编程 ---------------------------------- 语言 自然语言:汉语.英语 计算机语言:c语言.c++.(java php py ...
- shell awk sed tr grep 语法汇总
原文地址:http://www.cnblogs.com/wajika/p/6374043.html tr 基本语法 -c # 用字符串1中字符集的补集替换此字符集,要求字符集为ASC ...
- linux shell awk 语法
引用:http://blog.csdn.net/weekly123/article/details/1465675 inux shell awk 语法 Awk 是一种非常好的语言,同时有一个非 ...
- linux shell awk用法
Awk 是一种非常好的语言,同时有一个非常奇怪的名称.在本系列(共三篇文章)的第一篇文章中,Daniel Robbins 将使您迅速掌握 awk 编程技巧.随着本系列的进展,将讨论更高级的主题,最后将 ...
- linux shell awk BEGIN END 处理文本之前之后执行操作 简介
目录 简介 1 最简单的action 既没有pattern 有没有options 2 awk是逐行处理 2.1 输出整行 2.2 输出最后一列 2.3 输出倒数第二列 3 pattern 3.1 be ...
最新文章
- Qt的Oracle数据库QOCI驱动问题
- Python的内存管理、命名规则、3个特性讲解
- MySQL基础总结(二)
- 没有bug队——加贝——Python 练习实例 37,38
- 并查集——最小连接路径和Kruskal(hdu1301)
- 你们喜欢一个人旅行,还是有人陪伴旅行?
- 工具-Sublime Text:便捷设置 小三角
- Failed to restart docker.service: Unit is masked.真正的解决办法
- 【项目管理】------九大项目管理框架 (
- Vivaldi for Mac(极速浏览器)支持m1
- [转]微信小程序之购物车功能
- IIR滤波器和FIR滤波器
- Linux驱动开发|USB驱动
- 张晓龙2018微信公开课
- 绘制qq群的基础用例图_首次绘制出“氟化氢”地图:间接实现追踪宇宙中最常见的分子氢!...
- Linux源码目录结构
- HTML和CSS实现京东首页(附GitHub地址)
- 电影天堂React Native 客户端V2.0发布
- 健身类小程序前后端源码
- GPIO口配置为上拉,下拉输入