shell 中常用的字符串处理函数
来源:互联网 发布:泳湿小狗网络课全集 编辑:程序博客网 时间:2024/05/22 10:50
1. cut命令
通常,cut命令用来从输入文件中选取一个或多个字段或者一些字符。
常见的语法:
cut -c list [file ...]
cut -f list [file ...]
选项:
-c: 选择某行中的字符,例如ls -l | cut -c 3-5是选择ls -l命令输出的第3到第5个字符后输出。
-f: 选择某行中的字段,例如ls -l | cut -f 3-5 -d ' '是选择ls -l命令输出的第3到第5个字段后输出。
-d:通常也-f一起使用,指定分割字段的定界符。
2. join命令
join命令用来连接两个文件中的相同键值的其余内容后输出。
常见语法:
join [options...] file1 file2
选项:
-1 field1, -2 field2: 选择file1中的field1字段和file2中的field2字段作为键值。
-o file.field: 输出file中的field字段。通常file是1或2。当由此选项时则只输出指定的字段内容。
-t separator:使用separator作为输入字段的分隔符而非使用空格或TAB。
若想指定file1为标准输入,请使用-。
举例说明:
若sales.txt中内容为:
#ID 名称 数量
1 joe 100
2 sitanda 200
3 dart 150
4 tom 210
quotes.txt的内容为:
#ID 姓名 籍贯
1 sitanda 湖南
2 joe 美国
3 tom 法国
4 dart 北京
$: sed '/^#/d' quotes.txt > sort -t 2 > quotes1.txt
删除quotes.txt中的以#开头的行,并按照第二个字段排序后输出到quotes1.txt中
$: sed '/^#/d' sales.txt | sort -t 2 > sales1.txt
删除sales.txt中的以#开头的行,并按照第二个字段排序后输出到sales1.txt中
$: join -1 2 -2 2 -o 1.3 -o 2.3 -o 1.2 sales1.txt quotes1.txt
将sale1.txt的第二个字段和quotes1.txt的第二个字段作为主键合并两个文件的内容,并输出sale1.txt的第2和3个字段,quotes1.txt的第三个字段。结果为:
150 北京 dart
100 美国 joe
200 湖南 sitanda
210 法国 tom
通常,cut命令用来从输入文件中选取一个或多个字段或者一些字符。
常见的语法:
cut -c list [file ...]
cut -f list [file ...]
选项:
-c: 选择某行中的字符,例如ls -l | cut -c 3-5是选择ls -l命令输出的第3到第5个字符后输出。
-f: 选择某行中的字段,例如ls -l | cut -f 3-5 -d ' '是选择ls -l命令输出的第3到第5个字段后输出。
-d:通常也-f一起使用,指定分割字段的定界符。
2. join命令
join命令用来连接两个文件中的相同键值的其余内容后输出。
常见语法:
join [options...] file1 file2
选项:
-1 field1, -2 field2: 选择file1中的field1字段和file2中的field2字段作为键值。
-o file.field: 输出file中的field字段。通常file是1或2。当由此选项时则只输出指定的字段内容。
-t separator:使用separator作为输入字段的分隔符而非使用空格或TAB。
若想指定file1为标准输入,请使用-。
举例说明:
若sales.txt中内容为:
#ID
1
2
3
4
quotes.txt的内容为:
#ID
1
2
3
4
$: sed '/^#/d' quotes.txt > sort -t 2 > quotes1.txt
删除quotes.txt中的以#开头的行,并按照第二个字段排序后输出到quotes1.txt中
$: sed '/^#/d' sales.txt | sort -t 2 > sales1.txt
删除sales.txt中的以#开头的行,并按照第二个字段排序后输出到sales1.txt中
$: join -1 2 -2 2 -o 1.3 -o 2.3 -o 1.2 sales1.txt
将sale1.txt的第二个字段和quotes1.txt的第二个字段作为主键合并两个文件的内容,并输出sale1.txt的第2和3个字段,quotes1.txt的第三个字段。结果为:
150 北京 dart
100 美国 joe
200 湖南 sitanda
210 法国 tom
- shell 中常用的字符串处理函数
- VBA中常用的字符串处理函数
- C#中常用的字符串处理函数
- js中处理字符串的常用函数
- shell中字符串的处理
- 常用的字符串处理函数
- 字符串处理的常用函数
- 常用的字符串处理函数
- 常用的字符串处理函数
- js中常用的处理字符串的函数
- 笔试中最常用的字符串处理函数的实现
- PHP 中英文混合排版中处理字符串常用的函数
- C语言中常用的几个字符串处理函数:
- c语言中常用的字符串处理函数
- c语言中常用的字符串处理函数
- string.h中常用的字符串处理函数
- 处理PHP中字符串的常用操作及函数
- C语言中常用的字符串处理函数
- C++完美实现Singleton模式
- 在win7下kernel32.dll地址获取
- ASP.NET内部 - IIS和过程模型
- 机器学习中的数学:强大的矩阵奇异值分解(SVD)及其应用
- window查看运行程序的命令行参数
- shell 中常用的字符串处理函数
- 《红孩儿引擎内功心法修练与Cocos2d-x》之结点系统(场景,层,精灵)
- 85后程序媛:高唱卡牌类手游掘金战歌
- 无监督学习特征--稀疏编码、深度学习、ICA部分代表文献
- 跨网闸实现数据同步
- 汇编fs段
- PE File中取Section,用RVA还是用PointerToRawData?
- VS调试提示:无法找到“*.exe”的信息,或调试信息不匹配。未加载符号
- 详解Redis和Memcached