一、sort
Usage: sort [OPTION]... [FILE]...
-o 输出文件
-d 按字典顺序排序
-n 按数据大小输出
-r 按逆序输出排序结果
-k 指定分类是域上的数字分类
-t 域分隔符,用非空格或tab分隔域
sort -k3 -n -r -t: /etc/passwd
sort -d /etc/passwd
二、WC
Usage: wc [OPTION]... [FILE]...
-c 字符数量~
-l 行数~
-w 统计单词数量~
wc /etc/passwd
36<wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"> 65 1739/etc/passwd #36行,65个单词(空格区分),1739个字符</span></wbr></wbr>
三、diff
diff
Usage: diff [OPTION]... FILES
Compare files line by line.
-q 显示有无差异,不显示详细的信息~
-c 显示全部内文,并标出不同之处~
-b 不检查空格字符的不同~
-B 不检查空白行
-r 比较子目录中的文件~
diff /etc/passwd./passwd.bak<wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"><br>
2d1<br>
< bin:x:1:1:bin:/bin:/sbin/nologin</span></wbr></wbr>
四、grep
Usage: grep [OPTION]... PATTERN [FILE] ...
Search for PATTERN in each FILE or standard input.
-c 只打印匹配的行编号数
-i 匹配文本时忽略大小写
-n 在每行前显示其行编号
-v 逆向输出,打印不匹配的行
-f file 要匹配的字符在文件列表中
cat /etc/passwd |grep -n root
1:root:x:0:0:root:/root:/bin/bash
12:operator:x:11:0:operator:/root:/sbin/nologin
#grep '[Tt]his' file.txt
#grep '^[^#]' file.txt
匹配任意字符
grep 'r..t' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
五、sed
sed
Usage: sed [OPTION]... {script-only-if-no-other-script}[input-file]...
S 替代操作
i 插入命令
a 附加命令
d 删除全部匹配行
D 删除首次匹配的行
#sed -n '1,4p' /etc/passwd打印1~4行,-n --quiet以免先打印出passwd的全部内容
#sed '/80/D' file.txt
#sed 's/var/usr/g' file.txt 替换file.txt中全部var为usr
#sed '50,$s/help/man/g' file.txt 从50~最后行替换help为man
sed '/done/d' xj_user_p.log 删除done
六、awk
Usage: awk [POSIX or GNU style options] -f progfile [--] file...
Usage: awk [POSIX or GNU style options] [--] 'program' file...
<wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px">gawk
'{ sum += $1 }; END { print sum }' file<br></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px">gawk
-F: '{ print $1 }' /etc/passwd<br>
NF 当前记录中的字段数。NR 当前记录数。</span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"><br>
awk -F: '{print NR,$1,$NF}' ./passwd.bak<br>
awk -F: 'NR==5{print NR,$0}' ./passwd.bak 打印出5,15,25...行<br>
5 sync:x:5:0:sync:/sbin:/bin/sync<br>
15 nobody:x:99:99:Nobody:/:/sbin/nologin<br>
25 apache:x:48:48:Apache:/var/www:/sbin/nologin</span></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
七、uniq
如果要在文件中查找重复的行,uniq命令会很有用,该命令一般格式为:uniq in_fileout_file
该格式中,uniq把in_file复制到out_file,处理过程中,去掉其中的重复行,uniq对重复行的定义是完全匹配的连续行。如果不指定out_file,结果就写入标准输出。
-d选项:它告诉uniq把文件中的重复行写入out_file,不管它们在文件中连续出现多少次,这样的连续行只写一次
-c选项:带-c选项后,每行最前面显示该行在输入文件中出现的次数。
$ more test.txt
aaa
ccc
ccc
ccc
ddd
bbb
eee
123
$ uniq test.txt
aaa
ccc
ddd
bbb
eee
123
$ uniq -d test.txt
ccc
$ uniq -c test.txt
<wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"> 1 aaa<br></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"> 3 ccc<br></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"> 1 ddd<br></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"> 1 bbb<br></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"> 1 eee<br></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"> 1 123<br>
$</span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
综合示例:
...
数据处理:
找出上海股票涨幅最大的股票?
sort -n -r -k4 t.txt | sed -n '1p'
涨幅>3的股票?
awk '{if ($1>3) print $0} ' t.txt
涨幅在在4~15之间的股票
awk'{if($4>0&&$4<15){print$0}}' t.txt
<wbr></wbr>
转自:http://hi.baidu.com/��������/blog/item/caf21ba89c54ada1ca130c4a<wbr><span style="font-size:18px">.html</span></wbr>
http://hi.baidu.com/edeed/blog/item/b1be513db16db5ed3c6d9727<wbr><span style="font-size:18px">.html</span></wbr>
相关推荐
包含命令:awk、cat、cut、diff、echo、gawk、grep、head、sed、sort、tac、tail、tr、uniq、wc 可以在windows上cmd窗口显示彩色文字,用法:echo.exe -e "\033[32;1mGREEN\033[0m
解决方案 文字处理数字挑战解决方案1个切#1 解决方案2个切#2 解决方案3 切#3 解决方案4 削减#4 解决方案5 削减#5 解决方案6 切#6 解决方案7 切#7 解决方案8 削减#8 解决方案9 切#9 解决方案10 文本文件#1...
Linux笔记——命令:Sort,uniq,join,cut,paste,split Linux笔记——shell基础:变量&本地变量&位置变量&特定变量参数 Linux笔记——条件测试test Linux笔记——控制流 Linux笔记——shell补充:参数传递&函数等 Linux...
本文将介绍Linux下使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk;提供的例子和参数都是最常用和最为实用的;对shell脚本使用的原则是命令单行书写,尽量不要超过...
从文件和目录操作到用户管理等。 ls cp cut head stat sort uniq awk grep sed chmod chown useradd groupadd mount 等
11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 ...
11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 ...
11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 ...
11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 ...
11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 ...
11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 ...
11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 ...
11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 ...
1. #AWK命令用法 7 2. 搜索文件夹或文件命令 7 3. RPM解包和TAR解包 7 #rpm 强制安装 7 4. 统计某字符串数量 7 5. #DD命令使用总结 8 6. #REV 字符串反向命令 8 7. 变量截取 8 8. #UNIQ 去掉重复 8 9. #SORT 排序 8 ...
11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 ...
11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 ...
11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 ...
11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 ...