bash中除grep系之外的一些文本处理命令
其他的文本处理命令: [root@localhost~]#cut-d":"-f1,3/etc/passwd|head-5 root:0 bin:1 daemon:2 adm:3 lp:4
举个例子:(我们随便建个文件,里边随机列一些数据,然后我们用sort进行排序) [root@localhost~]#cat/tmp/test.txt 3 4 78945 45 623412 3 46797 0 2342 35 67 89 [root@localhost~]#sort-n/tmp/test.txt 0 3 3 4 35 45 67 89 2342 46797 78945 623412 [root@localhost~]#sort-R/tmp/test.txt|head-3 3 3 2342 [root@localhost~]#sort-n/tmp/test.txt|sort-u 0 2342 3 35 4 45 46797 623412 67 78945 89 我们可以用UID来进行/etc/passwd排序,只显示前5行。 [root@localhost~]#sort-n-t":"-k3/etc/passwd|head-n5 root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin 5.uniq 例子:(发现不连续的重复的行不认为是重复的) [root@localhost~]#cat/tmp/test.txt 3 4 0 0 33 q 0 33 33 33 [root@localhost~]#uniq-c/tmp/test.txt 13 14 20 133 1q 10 333 [root@localhost~]#sort-n/tmp/test.txt|uniq-c 30 1q 13 14 433 6.diff 举个例子:(1,2不同,并根据2向1打补丁)d->删掉 a->添加 [root@localhost~]#cat/tmp/text2.txt 1 123 1234 567890 [root@localhost~]#cat/tmp/text1.txt 1 12 123 1234 [root@localhost~]#diff/tmp/text1.txt/tmp/text2.txt 2d1 <12 4a4 >567890 [root@localhost~]#diff/tmp/text1.txt/tmp/text2.txt>/tmp/text.patch [root@localhost~]#patch-i/tmp/text.patch/tmp/text1.txt 7.patch patch - apply changes to files 格式: patch [OPTIONS] [orginalfile [patchfile]] 常用选项: -i:用于指明patch文件的路径;例子: 12 314 56 89 191 492 9 80 76 11 87 66 1024 99 721 384从上述数字中找出最大值和最小值:(发现这些命令无法直接进行截取操作,但我们可以发现,空白字符可以用tr命令转化为换行符,然后接下来的操作就变得简单可行了,我写了代码的实行部分)最大值: cat num.txt | tr ' ' 'n' | sort -n | tail -1最小值: cat num.txt | tr ' ' 'n' | sort -n | head -1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |