linux文件截取前几行,后几行,中间几行命令及查看端口命令

linux文件截取前几行,后几行,中间几行命令及查看端口命令,第1张

1. 如果你只想看文件的前100行,可以使用head命令,如

head -100  filename

2. 如果你想查看文件的后100行,可以使用tail命令,如:

tail -100  filename 或 tail -n 100  filename

3. 查看文件中间一段,你可以使用sed命令,如:

sed -n '100,200p' filename 

这样你就可以只查看文件的第100行到第200行。

截取的文件可以用重定向输入到新的文件中:

head -100  filename >a.txt

也可以在robot里面使用read 打印出来

使用命令:

ps -aux | grep tomcat/8080

方法二:直接使用 netstat   -anp   |   grep  portno

即:netstat –anp | grep 8080

查看端口命令 https://www.cnblogs.com/CEO-H/p/7794306.html

linux替换目录下所有文件中的某字符串

比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做:

sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`

解释一下:

-i 表示inplace edit,就地修改文件

-r 表示搜索子目录

-l 表示输出匹配的文件名

linux查找目录下的所有文件中是否含有某个字符串

查找目录下的所有文件中是否含有某个字符串

find .|xargs grep -ri "php"

查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名

find .|xargs grep -ri "php" -l

 ip addr  查看ip地址

这行命令可以帮助你删除包含 Merge 的 commit 块(任意多个这样的文字块)

sed -n '/commit/{:ahn/Merge/b:cHn$bd/commit/!bc:dxpxba}' log > log.txt

运行效果如下:

我的命令可能复杂了些。稍微解释一下,仅供参考:

其中:a    :b    :c    :d    是命令跳转标签label

/commit/{:ahn

当某行找到 commit 时,将此行复制到 hold space,然后读取下一行。

/Merge/b

如果刚刚读取到的新行,包含Merge,则结束对本行的处理,读取下一行,并继续寻找commit

如果刚刚读取到的新行,不包含Merge,那么继续对本行执行后续命令:

:cHn$bd/commit/!bc:dxpxba}

将此行追加到hold space,读取下一行,如果没有到最后一行,并且没有找到commit,那么执行命令bc,跳转到c标签——循环这个过程,直到读取到文件末尾或者读取到包含commit的行。然后,x,将hold space的内容与 pattern space的内容对调,p,输出pattern space的内容(即,不包含Merge的块),x,再次对调,pattern space变成之前的内容(文件末尾或者包含commit的行)。ba,跳转到标签a,继续对此行进行检查,重复步骤1,2,3。

如果上面的命令改为:

sed -n '/commit/{:ahn/Merge/!b:cHn$bd/commit/!bc:dxpxba}' log >log.txt

那么,输出结果为,只包含 Merge 的 commit 块


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8959729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存