linux 命令使用整理---不定期更新

经常有时候要用到某个命令的特殊功能,一时想不起来又要百度,所以就干脆专门整个博客来记录一下。
1、替换某行的某个字符串

sed -i '2 s/A/B/' file

该命令将file文件的第二行的A字符串替换为B字符串。

2、grep某个字符串并高亮显示

grep -r "string" --color file

该命令查找file文件或目录下包含string字符串的那行,同时高亮显示string字符串。CentOS系统不知从哪个版本开始,grep命令就默认带有–color参数了。

3、删除匹配字符串的下一行

sed -i '/string/{n;d}' file

该命令删除file文件中包含string字符串的下一行。

4、删除匹配字符串的上一行

sed -i  'N;/\n.*string/!P;D' file

该命令删除file文件中包含string字符串的上一行。其中N表示追加文本流中的下一行到模式空间并在二者间追加一个换行符;\n.*string表示匹配换行符及你需要匹配的字符串,!P表示不打印,这两个和在一起就是当前匹配的行不打印;最后D是删除当前模式空间的字符串,直到并包括第一个换行符。所以其思路是读取两行,匹配行不显示,后面删除的也就是上一行内容了。

5、删除两个字符串间的内容

sed -i '/stringA/,/stringB/d' file

该命令删除file文件中sringA和stringB字符串间的内容,包括stringA和stringB所在行。

6、bash命令里使用正则表达式匹配字符串

if [[ "aaab" =~ a+b ]];then echo ok;fi

该命令用正则表达式**“a+b”**匹配字符串,特别注意正则匹配表达式不能加双引号,否则会被当成字符串,而且,也要用[[ ]],不能用[ ]。

7、date命令打印年月日时分秒

date "+%Y-%m-%d %H:%M:%S"

8、替换换行符为空格
首先想到的是sed命令

sed -i 's/\n/ /g' file

但是并不能成功,因为sed读取一行时,会先把换行符去掉,处理完后再添加上,所以是看不到换行符的。可以使用echo命令

echo `cat file`

或者用tr命令

cat file | tr '\n' ' ' > bfile

因为tr命令替换所有换行字符,所以如果直接显示出来会和下一行提示符连在一起,如下图所示:
这里写图片描述
所以导入文件中后就能自动添加换行符。

9、查看local和main路由表

ip route list table local//查询local路由表
ip route list table main//查询main路由表

10、sed在指定行前新增行

sed -i  '1 i new line string' /etc/my.conf

在/etc/my.conf文件中第一行前增加新行——new line string

11、sed在指定行后新增行

sed -i  '1 a new line string' /etc/my.conf

在/etc/my.conf文件中第一行后增加新行——new line string

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值