linux编辑php文件内容,linux的文本处理(一)

1、grep

常用参数

-A : 除了显示匹配上的行外,并显示该行之后的内容,可以理解为after

-B : 除了显示匹配上的行外,并显示该行之前的内容,可以理解为before

-c : 输出时显示匹配上的行的计数

-E : 可使用扩展正则表达式来匹配

-F : 用于查找固定字符串

-i : 忽视大小写的匹配

-n : 标示出匹配上的行数的行编号

-v : 只输出那些没有匹配上的行

-o : 只输出匹配上的那部分内容

-w : 只匹配整个单词

-a : 对二进制文件以text形式匹配

常见用法:

1)匹配固定字符串(在abc.txt文件中匹配mmm)

grep -F mmm abc.txt

2)输出没有匹配上mmm的行

grep -v mmm abc.txt

3)输出匹配上mmm的行数

grep -n mmm abc.txt

4)搜索目录,并且是递归搜索,比如递归检索当前目录

grep -r mmm

5)使用正则匹配来搜索匹配上mmm连续重复的行

grep -E ‘(mmm)+’ abc.txt

6)匹配多个字符串

grep -e “aaa” -e “bbb”

7)只在目录中所有的.php和.html文件中递归搜索字符“main()”

grep “main()” . -r --include *.{php,htlm}

2、sed

常用选项

-n : 取消默认的输出,使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来

-e : 进行多项编辑,即对输入行应用多条sed命令时使用. 直接在指令列模式上进行 sed 的动作编辑

-f : 指定sed脚本的文件名. 直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作

-r : sed 的动作支援的是延伸型正则表达式的语法。(预设是基础正则表达式语法)

-i : 直接修改读取的文件内容,而不是由屏幕输出

常用命令

a : 新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)

c : 取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行

d : 删除,因为是删除,所以 d 后面通常不接任何内容

i : 插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)

p : 列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起用

s : 取代,可以直接进行替换的工作。通常这个 s 的动作可以搭配正则表达式。

常见用法

1)替换文本中所有的空为*,并不在屏幕输出

sed -i ‘s/ /*/g’ abc.txt

2)替换文本中第3个匹配上的pattern 为other

sed ‘s/pattern/other/3’ abc.txt

3)打印发生替换的行

sed -n ‘s/pattern/other/p’ abc.txt

4)打印文本得10-20行

sed -n ‘10,20p’ abc.txt

5)替换能匹配到for的行中的pattern字符串为空

sed ‘/for/ s//pattern/g’ abc.txt

6)替换能匹配for到end的所有行中的pattern字符串为空

sed ‘/for/,/end/ s//pattern/g’ abc.txt

7)删除空白行

sed ‘/^$/d’ abc.txt

8)删除第2-10行

sed ‘2,10d’ abc.txt

9)删除以The开头的行

sed '/^The/'d abc.txt

10)直接修改在匹配到end的行的后面追加This is end

sed -i ‘/end/a\This is end’ abc.txt

3、sord

常用选项

-u 它的作用很简单,就是在输出行中去除重复行,只保留其中的第一条。

-r sort默认的排序方式是升序,如果想改成降序,就加个-r就搞定了。

-o 将排序后的结果写入原文件

-n 使用-n选项,来告诉sort,“要以数值来排序”!

-t和-k sort提供了-t选项,后面可以设定间隔符,指定了间隔符之后,就可以用-k来指定列数了

-c 检查文件是否已经排序

-b 忽略每行开头的空格字符,从第一个可见字符开始比较

-f 忽视大小写进行排序

常见用法

1)简单排序‘

sort abc.txt

2)对文本进行冒号分割后的第二列进行排序

sort -t: -k2n abc.txt

3)对文本进行冒号分割,然后先对第二列进行数值排序,如果相同在根据第三列进行数值排序

sort -t: -k2n -k3n abc.txt

4)如果需要排序后去重,一般搭配uniq一起 使用,如排序后去重并计数

sort abc.txt | uniq -c

5)排序后去重,并显示重复项

sort abc.txt | uniq -d

6)排序后去重,并显示不重复项

sort abc.txt | uniq -u

-n 最多显示多少行

-o 将随机排序后的输出写到一个文件中

http://www.bioinfo-scrounger.com/archives/273

标签:abc,匹配,文本处理,mmm,sed,排序,linux,txt

来源: https://blog.csdn.net/weixin_43949246/article/details/95174741

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值