sed

sed的命令

随机生成一个十位的数
head -c4  /dev/urandom | od -N4 -tu4 |sed -ne '1s/.* //p'
head -c4 取得前4个字节
od 
-N4 选项将限制输出为4个字节
-tu4 选项将使用无符号10进制格式来输出
sed
-n 或--quiet或--silent 仅显示script处理后的结果。
-e -e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。
s/old/new/g  将old替换为new
1s 表示只替换输入文本的第一行,1,20s  替换1-20行,g表示全部替换
p:打印显示,和 -n一起使用
删除特定的字符
假设定义了一个变量为:
代码如下: file=/dir1/dir2/dir3/my.file.txt

可以用${ }分别替换得到不同的值:
${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:删掉最后一个 / 及其左边的字符串:my.file.txt
${file#*.}:删掉第一个 . 及其左边的字符串:file.txt
${file##*.}:删掉最后一个 . 及其左边的字符串:txt
${file%/*}:删掉最后一个 / 及其右边的字符串:/dir1/dir2/dir3
${file%%/*}:删掉第一个 / 及其右边的字符串:(空值)
${file%.*}:删掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:删掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my
sed -i 's/#autologin-user=/autologin-user=root/g' /etc/lightdm/lightdm.conf
加i是为了修改原文件

 sed -i '/^%description/a\'"$TEXT"'' /root/rpmbuild/SPECS/$RPM.spec
在%description行开头的字符串下面添加$TEXT,sed中添加变量需要加' "" ' (单引号内加双引号)

sed '/test/i\ add a new line' -i a.txt
在test行前添加


sed -e  可以在同一行里执行多个命令
不加 e 只能执行一个命令
sed -i 's#.rpm$##g' t xxx  将xxx中的每一行中的.rpm去掉
xinput list | grep -iE "MOUSE1|keyboard" | sed -r 's/.*id=([0-9]+).*/\1/'|head -1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值