tr命令以及sed命令

tr命令

tr 用于转字符 : 即 , 如果给定了两个字符范围 , 则只要发现某个字符位于第一个范围中 , 就会将其转换为第二个范围中对等的字符。该命令通常在 shell 脚本中使用 , 以按预期情况转换数据

 tr 'A-Z' 'a-z' <file
[root@localhost ~]# cat /aaa/file1
redhat
[root@localhost ~]# tr 'a-z' 'A-Z' <  /aaa/file1   ##将文件内容中属于a-z包含范围里的内容转换成大写的
REDHAT
[root@localhost ~]# tr 'A-Z' 'a-z' <  /aaa/file1   ##将文件内容中属于a-z包含范围里的内容转换成小写的
redhat

sed命令

• sed 命令是流编辑器 , 用于对文本数据流执行编辑。假定要处理一个文件名 , sed 将对文件中的所有行执行搜索和替换 , 以将修改后的数据发送到标准输出 ; 即 , 其实际上并不修改现有文件。与 grep 一样 , sed 通常在管道中使用
• 由于 sed 命令通常包含可以解释为 shell 元字符的字符 ,因此请按下面示例所示引用 sed 命令。默认情况下 , sed对文件中的所有行执行操作。在提供 sed 时 , 可带有地址

sed 's/原字符/替换字符/g' file  ##将全部行原字符转换为替换字符
sed -e '策略1' -e '策略2' file   ##例如:sed -e 's/root/'
sed '3,5s/原字符/替换字符/g'   ##3-5行替换
sed xd              ##屏蔽指定行
sed -e  xp              ##复制指定行
sed -n xp           ##只显示指定的行
危险动作:
sed -i  file            ##把转换后的内容输入到指定文件,会直接更改文件内容

sed命令里 不加-i 不更改文件内容

[root@localhost ~]# cat /aaa/file1
test:root:sssd
TEST:sssd:root
TEST:sssd:root
sssd:test:test
root:test:sssd
root:root:sssd
[root@localhost ~]# sed 's/test/root/g' /aaa/file1  ##将文件内容所有的test换成root
root:root:sssd
TEST:sssd:root
TEST:sssd:root
sssd:root:root
root:root:sssd
root:root:sssd
[root@localhost ~]# sed '1,2s/sssd/root/g' /aaa/file1  ##将第一行和第二行的sssd换成root
test:root:root
TEST:root:root
TEST:root:root
root:test:test
root:test:root
root:root:root
[root@localhost ~]# sed -e 1p -e 2p /aaa/file1  ##将第一行以及第二行复制并紧挨着原来的第一行或第二行
test:root:root
test:root:root  ##复制的第一行
TEST:root:root
TEST:root:root  ##复制的第二行
TEST:root:root
root:test:test
root:test:root
root:root:root
[root@localhost ~]# sed -n  1,6p /aaa/file1  ##将文件内容第一行至第六行找出
test:root:root
TEST:root:root
TEST:root:root
root:test:test
root:test:root
root:root:root
[root@localhost ~]# sed -n 2,4p /aaa/file1   ##将文件内容第二行至第四行找出
TEST:root:root
TEST:root:root
root:test:test
[root@localhost ~]# sed -ne 2p -ne 4p /aaa/file1  ##将文件第二行找出并复制 第四行找出并复制,然后输出
TEST:root:root
root:test:test
[root@localhost ~]# sed -e 's/root/test/g' -e 's/test/root/g' /aaa/file1  ##加e的话就可以执行后边的内容
root:root:root
TEST:root:root
TEST:root:root
root:root:root
root:root:root
root:root:root
[root@localhost ~]# sed -i 's/root/test/g' /aaa/file1   ##直接修改文件内容
[root@localhost ~]# cat /aaa/file1
test:test:test
TEST:test:test
TEST:test:test
test:test:test
test:test:test
test:test:test
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值