输出时保留原格式 用双引号
userinfo=`who`
echo $userinfo
echo "$userinfo"
echo a b c| { read x y z ; echo $x $y $z; } 对
echo a b c| { read x y z ; echo $x $y $z;} 错,最后的}前要有空格
echo a b c| { read x y z ; echo $x $y $z;exit;} 对,exit后面不用空格
echo a b c| {read x y z ; echo $x $y $z;exit;} 错 read前要有空格
查找/etc?录下所有?户都没有写权限的?件
find /etc -not -perm /222 要善用not
查找/etc/init.d?录下,所有?户都有执?权限,且其它?户有写权限的?件
find /etc/init.d -perm -113
-MODE:每一类对象都必须同时拥有指定权限 其他权限有无不关注
利?sed 取出ifconfig ens33命令中本机的IPv4地址
ifconfig ens33 |sed -r ‘2!d; s@(.inet )(.)( netmask.*)@\2@‘
ifconfig 后面直接跟具体网卡;2!d 打印第二行;用冒号可以隔开两个命令,同时依次执行
删除/etc/fstab?件中所有以#开头,后??少跟?个空?字符的?的??的#和空?字符
sed -r ‘s/^#[[:blank:]]+//‘ /etc/fstab
sed -r ‘s/^#[[:blank:]]+//‘g /etc/fstab 加了一个g表示全局替换,因为行中间可能也有符合条件的
cat /etc/fstab sed -r ‘s/^#[[:blank:]]+//‘
[:blank:] 空白字符(空格和制表符) [:space:] 水平和垂直的空白字符(比[:blank:]包含的范围广)
替换为空的删除思想
显?pets?件中第2?及后?的1?
sed -n ‘2,+1p‘ pets
在pets?件的第2?的下??添加hello
sed ‘2ahello‘ pets
a []text 在指定行后面追加文本,支持使用\n实现多行追加 [] 可有可无
在第2?后读?test.txt?件
seq 1 5|sed ‘2r test.txt‘ seq别写成sed了
删除centos7系统/etc/grub2.cfg?件中所有以空?开头的???的空?字符
sed -r ‘s/^[[:blank:]]+//‘ /etc/grub2.cfg
sed -r ‘s/(^[[:blank:]]+)(.*)/\2/‘ /etc/grub2.cfg
在centos6系统/root/install.log每????增加#号
sed -r ‘s/.*/#&/‘ /root/install.log
注意这里的 " & " 符号,如果没有 “&”,就会直接将匹配到的字符串替换掉
sed ‘s/^/添加的头部&/g‘ #在所有行首添加
sed ‘s/$/&添加的尾部/g‘ #在所有行末添加
在/etc/fstab?件中不以#开头的?的??增加#号
sed -r ‘s@^[^#]@#&@p‘ /etc/fstab
以上两题只需注重每行的行首替换即可,有特殊行首格式则写出格式,无需写出具体每行其他内容正则
处理/etc/fstab路径,使?sed命令取出其?录名和基名
echo "/etc/fstab" |sed -r ‘s@^(./)([^/]+/?)$@\1@‘
echo "/etc/fstab" |sed -r ‘s@^(./)([^/]+/?)$@\2@‘
echo "/etc/fstab" |sed -r ‘s#(/.*/)([^/]+/?)$#\1#‘
路径最后可能是文件夹,比如/etc/fstab/sd/,所有最后可能有/
原文:https://www.cnblogs.com/linux521/p/10928865.html