分隔符

awk 输出前 N 列的最简单方法

佐手、 提交于 2019-11-30 19:53:43
最近遇到一种场景,需要输出一个文本信息的前 N 列。 众所周知 cut 可以指定分隔符并指定列的范围,如 cut -d' ' -f-4 就是以空格为分隔符输出前 4 列。但是 cut 的分隔符只能是一个字符,远没有 awk 好用。 简单搜索了下网上各种资料都没有关于 awk 输出前 N 列的简单方法,见得最多的还是用一个 for 循环输出。 这里分享一个修改 NF 标记输出的方法: $ awk '{NF=4}1' 这样就是输出前 4 列了,示例: $ dpkg -l | grep ^ii | head -n 3 | awk '{NF=4}1' ii accountsservice 0.6.45-1ubuntu1 amd64 ii acl 2.2.52-3build1 amd64 ii acpid 1:2.0.28-1ubuntu1 amd64 来源: https://www.cnblogs.com/BlackStorm/p/11638385.html

DIRECTORY_SEPARATOR

半城伤御伤魂 提交于 2019-11-30 18:41:07
DIRECTORY_SEPARATOR 系统目录分隔符。 在 Windows 中,斜线“/”和反斜线“\”都可以用作目录分隔符,在linux上路径的分隔符是斜线“/”。 若在 windows 上习惯性的使用反斜线“\”作为文件分隔符,则在 linux 服务器上运行时就会报错。 例如: // 错误的写法 define('UPLOAD_PATH', dirname(__FILE__).'\upload'); // 正确的写法 define('UPLOAD_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'upload'); 来源: oschina 链接: https://my.oschina.net/u/589130/blog/466583

python如何切割字符串

守給你的承諾、 提交于 2019-11-30 16:18:19
python字符串的分割方法如下 str.split():字符串分割函数 通过指定分隔符对字符串进行切片,并返回分割后的字符串列表。 语法: str.split(s, num)[n] 参数说明: s:表示指定的分隔符,不写的话,默认是空格(’ ‘)。如果字符串中没有给定的分隔符时,则把整个字符串作为列表的一个元素返回。 num:表示分割次数。如果指定了参数num,就会将字符串分割成num+1个子字符串,并且每一个子字符串可以赋给新的变量。 [n]:表示选取第n个分片,n表示返回的list中元素下标,从0开始的。 1.2 os.path.split():路径文件分割函数 按照路径将文件名和路劲分割开,这里需要引入os包(import os)。 语法: os.path.split(‘PATH’) 参数说明: PATH指一个文件所在的绝对路径 实例 split()函数常用的一些实例 #定义一个字符串str1 >>> str1 = "3w.gorly.test.com.cn" #使用默认分隔符分割字符串str1 >>> print str1.split() ['3w.gorly.test.com.cn'] #指定分隔符为'.',进行分割字符串str1 >>> print str1.split('.') ['3w', 'gorly', 'test', 'com', 'cn'] #指定分隔符为

linux学习-常用文本处理命令

这一生的挚爱 提交于 2019-11-30 14:55:42
1.文本处理命令 (1) tr  转换或删除字符   tr [OPTION]...SET1 SET2   选项:   -c  取SET1字符串的补集   -d  删除属于SET1中的字符   -s  把连续重复出现的字符以单独一个字符表示(可用来压缩多个空格为一个空格)   -t  把SET1中的字符转化为SET2中相对应的字符 (2) tee  从标准输入读取数据并将其输出到标准输出(屏幕),同时保存成文件   -a  表示追加到文件中 (3) cat  文件查看  cat [OPTION]...[FILE1]...   -E  显示行结束符$   -A  显示所有控制符   -n  显示每一行的编号   -b  非空行编号   -s  连续的空行压缩成一行 (4) head  显示文本前N行内容   -c #  指定获取前#个字符   -n #  同 -# ,指定获取前#行 (5) tail  显示文本后N行内容   -c #  指定获取后#个字符   -n #  同 -# ,指定获取后#行   -f   跟踪显示文件fd新追加的内容,常用于日志监控,相当于 --follow=descriptor   -F   跟踪文件名,相当于--follow=name --retry (6) paste  合并两个文件同行号的列到一行   paste [OPTION]...[FILE]..

[转帖]Linux中awk工具的使用

瘦欲@ 提交于 2019-11-30 14:20:11
Linux中awk工具的使用 2018年10月09日 17:26:20 谢公子 阅读数 2170 更多 分类专栏: linux系统安全 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_36119192/article/details/82982732 目录 awk awk的用法 awk中字符的含义 print 打印 字符匹配 格式化输出 举例 awk awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,默认以空格为分隔符将每行切片,切开的部分再进行各种分析处理。 awk是行处理器,相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 awk的用法: awk 参数 ' BEGIN{} // {action1;action2} ' END{} 文件名 参数: -F 指定分隔符 -f 调用脚本 -v 定义变量 Begin{} 初始化代码块,在对每一行进行处理之前,初始化代码,主要是引用全局变量,设置FS分隔符 // 匹配代码块,可以是字符串或正则表达式 {} 命令代码块

python中的rrsplit()方法

我是研究僧i 提交于 2019-11-30 12:53:25
描述: python rsplit() 方法通过指定分隔符对字符串进行分割并返回一个列表,默认分隔符为所有空字符,包括空格、换行(\n)、制表符(\t)等。类似于 split() 方法,只不过是从字符串最后面开始分割。 语法: S.rsplit([sep = None ][,count = S.count(sep)]) 参数: sep -- 可选参数,指定的分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 count -- 可选参数,分割次数,默认为分隔符在字符串中出现的总次数 返回值:返回分割后的字符串列表。 实例:    S = "this is string example....wow!!!"   print (S.rsplit( ))     [ 'this' , 'is' , 'string' , 'example....wow!!!' ]   print (S.rsplit( 'i' , 1 ))   [ 'this is str' , 'ng example....wow!!!' ]   print (S.rsplit( 'w' ))    [ 'this is string example....' , 'o' , '!!!' ] 来源: https://www.cnblogs.com/gengshao/p/11589482.html

Linux命令-awk使用

自古美人都是妖i 提交于 2019-11-30 12:02:47
AWK是一种处理文本文件的语言,是一个强大的文本分析工具 菜鸟教程: https://www.runoob.com/linux/linux-comm-awk.html 注:awk 如果不指定分隔符的话,默认是以 "空格" 为分隔符进行分隔的 常用的akw语法总结 1、grep "xxx" catalina.out | awk -F "xxx" '{print $1}' catalina.out -F 是FS 文件分隔符的简写 截取的时候,可以先截取大串,在继续截取,替换 2、grep "xxx" catalina.out | awk -F "xxx" '{print$1}' catalina.out | awk -F "xxx" '{print $1,$2}' 3、文本替换: https://www.jianshu.com/p/d90f8a2ecd62 sub(/regexp/, replacement, target) 4、给截取的文本前后添加 “aaa xxx ddd” grep "xx" xxx.txt |awk -F "xx" '{print $1}' | awk -F "xx" '{print "aaa" $1 "ddd"}' 来源: https://blog.csdn.net/csndhu/article/details/97391937

HBase导入数据同时与Phoenix实现同步映射

為{幸葍}努か 提交于 2019-11-30 06:35:51
1.HDFS上数据准备 2019-03-24 09:21:57.347,869454021315519,8,1 2019-03-24 22:07:15.513,867789020387791,8,1 2019-03-24 21:43:34.81,357008082359524,8,1 2019-03-24 16:05:32.227,860201045831206,8,1 2019-03-24 18:11:18.167,866676040163198,8,1 2019-03-24 22:01:24.877,868897026713230,8,1 2019-03-24 12:34:23.377,863119033590062,8,1 2019-03-24 20:16:32.53,862505041870010,8,1 2019-03-24 09:10:55.18,864765037658468,8,1 2019-03-24 16:18:41.503,869609023903469,8,1 2019-03-24 10:44:52.027,869982033593376,8,1 2019-03-24 20:00:08.007,866798025149107,8,1 2019-03-24 10:25:18.1,863291034398181,2,3 2019-03-24 10:33:48

20190919笔记

寵の児 提交于 2019-11-30 03:26:47
9.4/9.5 sed 9.6/9.7 awk 一、sed sed工具介绍(替换,替换指定的字符) 创建一个sed目录,把passwd文件拷贝进来,方便学习 只显示我们需要查找的内容显示出来,示例如下: -n 在grep中使用的特殊字符如(^$*等) 都可以在sed中使用 指定一个区间打印,比如指定一个区域2-3行,示例如下: -n sed命令加上-e选项可以实现多个行为,示例如下: -e 如果需求说查找一个文件,把bus不管大小写都列出来: l(大写字母i) 删除某些行(并非删除),把剩下来行数都显示出来,示例如下: d sed真正删除选中的行数,示例如下: -i -i还可以指定删除某个字符的行,示例如下: // 全局指定替换1, 10行。 s 调整两个字符串的位置 扩展正则选项 (类似grep的-E): -r 第一段和最后一段替换位置 查看一个文档当中,所有的数字不包含字符 如果给文档前面统一添加字符串,比如aaa,示例如下: 二、awk awk工具介绍 awk截取文档中的某个段落,示例如下: -F选项的作用是指定分隔符,如果不加-F选项,以空格或者tab为分隔符 print为打印的动作,用来打印某个字段。$1为第一段,$2为第二段,$0表示整行 示例1: 示例2,打印出来所有的内容:$0 匹配字符或者字符 打印出来包含oo的行 打印第一行的第一段包含oo的行 多次打印

如何转义CSV文件中的逗号

妖精的绣舞 提交于 2019-11-30 03:10:12
CSV全称是:Comma Separated Values 或者 Character Separated Values。 尽管第一种说法更常见,但我觉得还是第二种说法更确切一些,因为你可以使用其它字符做分隔符。 使用逗号做分隔符的CSV文件有一个好处:你可以直接用Excel打开。如果使用其它分隔符,比如“|”,你必须告诉Excel该文件使用“|”作分隔符,Excel才能把它导入进来。 前几天,project manager告诉我:我们有许多CSV文件,都是使用“|”做分隔符,用Excel打开的时候比较麻烦,用户想在Excel中直接打开。这样就需要使用“,”做分隔符。但是文件中有些字段含有逗号,必须对这些逗号特殊处理,才能保证CSV文件在Excel中正确打开。他还给了我一个算法: 如果字段中有逗号(,),该字段使用双引号(")括起来; 如果该字段中有双引号,该双引号前要再加一个双引号,然后把该字段使用双引号括起来。 看完project manager的要求,我真是满头起包啊。在IT业混了十几年了,竟然不知道这样处理逗号。 举几个例子: 字段处理前 字段处理后 abc,d2 "abc,d2" ab"c,d2 "ab""c,d2" "abc """abc" "" """""" 如果字段中有两个挨着的双引号,比如:aaa""ccc。这种情况不用特殊处理。这是我在写这篇博客的时候才想起来的