删除/etc/grub2.conf文件中所有以空白开头的行,行首的空白字符
[root@English6 ~]# sed "s@^[[:space:]]\+@@" /etc/grub.conf # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/sda2 # initrd /initrd-[generic-]version.img #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS 6 (2.6.32-642.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=UUID=33bb1eff-ce5c-4fd8-954e-191c7fb12e6d rd_NO_LUKS rd_NO_LVM.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-642.el6.x86_64.img
删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行,的行首的#和空白字符
[root@localhost wang]# sed -n "s@^#[[:space:]]\+@@p" /etc/fstab /etc/fstab Created by anaconda on Tue Aug 9 05:48:51 2016 Accessible filesystems, by reference, are maintained under '/dev/disk' See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
在/root/install.log没一行行首增加#号
[root@English6 ~]# sed "s@^@#@" /root//install.log #Installing ql2400-firmware-7.03.00-1.el6_5.noarch #Installing iwl5000-firmware-8.83.5.1_1-1.el6_1.1.noarch #Installing ql2100-firmware-1.19.38-3.1.el6.noarch #Installing ivtv-firmware-20080701-20.2.noarch #Installing libertas-usb8388-firmware-5.110.22.p23-3.1.el6.noarch #Installing xorg-x11-drv-ati-firmware-7.6.1-2.el6.noarch #Installing ql2500-firmware-7.03.00-1.el6_5.noarch #Installing atmel-firmware-1.3-7.el6.noarch #Installing zd1211-firmware-1.4-4.el6.noarch #Installing iwl4965-firmware-228.61.2.24-2.1.el6.noarch #Installing rt61pci-firmware-1.2-7.el6.noarch #Installing iwl3945-firmware-15.32.2.9-4.el6.noarch #Installing ql2200-firmware-2.02.08-3.1.el6.noarch #Installing rt73usb-firmware-1.8-7.el6.noarch #Installing ipw2100-firmware-1.3-11.el6.noarch #Installing ql23xx-firmware-3.03.27-3.1.el6.noarch #Installing ipw2200-firmware-3.1-4.el6.noarch #Installing rootfiles-8.1-6.1.el6.noarch #Installing man-pages-3.22-20.el6.noarch ...
在/etc/fstab文件中不以#开头的行的行首增加#号
[root@English6 ~]# sed "s@^[^#]@#&@" /etc/fstab # # /etc/fstab # Created by anaconda on Thu Jul 21 16:53:41 2016 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # #UUID=33bb1eff-ce5c-4fd8-954e-191c7fb12e6d / ext4 defaults 1 1 #UUID=47c3f22b-7ed9-4ce1-b341-2d95ff6555af /boot ext4 defaults 1 2 #UUID=c9eeb128-84ac-402c-bf90-91ef5f355355 /testdir ext4 defaults 1 2 #UUID=68b451f6-71ee-4631-a98c-c0a201df6009 swap swap defaults 0 0 #tmpfs /dev/shm tmpfs defaults 0 0 #devpts /dev/pts devpts gid=5,mode=620 0 0 #sysfs /sys sysfs defaults 0 0 #proc /proc proc defaults 0 0
在/etc/fstab路径,使用sed命令取出其目录名的基名
[root@English6 ~]# echo "/etc/fstab" | sed "s@.*\<@@" fstab [root@English6 ~]# echo "/etc/fstab/" | sed "s@.*\<@@" fstab/
利用sed取出ifconfig命令中本机的ipv4地址
[root@localhost wang]# ip addr |sed -n '9p'|sed "s@.*inet@@"|sed "s@/.*@@" 192.168.1.114
统计centos安装关盘中package目录下的rpm文件的以.分隔倒数第二字段的重复次数
[root@localhost boot]# ls /boot/Packages/ | sed "s@\.rpm@@"|sed "s@.*\.@@"|sort|uniq -c 2000 i686 2938 noarch 1 TBL 4069 x86_64
复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符
[root@localhost wang]# cp /etc/profile /wang [root@localhost wang]# sed "s@^[[:space:]]*@@" profile # /etc/profile # System wide environment and startup programs, for login setup # Functions and aliases go in /etc/bashrc # It's NOT a good idea to change this file unless you know what you # are doing. It's much better to create a custom.sh shell script in # /etc/profile.d/ to make custom changes to your environment, as this # will prevent the need for merging in future updates. pathmunge () { case ":${PATH}:" in *:"$1":*) ;; *) if [ "$2" = "after" ] ; then PATH=$PATH:$1 else PATH=$1:$PATH fi esac } if [ -x /usr/bin/id ]; then if [ -z "$EUID" ]; then # ksh workaround EUID=`id -u` UID=`id -ru` fi USER="`id -un`" LOGNAME=$USER MAIL="/var/spool/mail/$USER" fi # Path manipulation if [ "$EUID" = "0" ]; then pathmunge /usr/sbin pathmunge /usr/local/sbin else pathmunge /usr/local/sbin after pathmunge /usr/sbin after fi HOSTNAME=`/usr/bin/hostname 2>/dev/null` HISTSIZE=1000 if [ "$HISTCONTROL" = "ignorespace" ] ; then export HISTCONTROL=ignoreboth else export HISTCONTROL=ignoredups fi export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL # By default, we want umask to get set. This sets it for login shell # Current threshold for system reserved uid/gids is 200 # You could check uidgid reservation validity in # /usr/share/doc/setup-*/uidgid file if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then umask 002 else umask 022 fi for i in /etc/profile.d/*.sh ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null fi fi done unset i unset -f pathmunge
复制/etc/rc.d/init.d/functions的每行开头为空白字符的行的行首添加一个#号
[root@localhost wang]# sed "s@^[[:space:]]*@#&@" functions ## -*-Shell-script-*- ## ## functions This file contains functions to be used by most or all ## shell scripts in the /etc/init.d directory. ## # #TEXTDOMAIN=initscripts # ## Make sure umask is sane #umask 022 # ## Set up a default search path. #PATH="/sbin:/usr/sbin:/bin:/usr/bin" #export PATH # #if [ $PPID -ne 1 -a -z "$SYSTEMCTL_SKIP_REDIRECT" ] && \ # ( /bin/mountpoint -q /cgroup/systemd || /bin/mountpoint -q /sys/fs/cgroup/systemd ) ; then # case "$0" in # /etc/init.d/*|/etc/rc.d/init.d/*) # _use_systemctl=1 # ;; # esac #fi # #systemctl_redirect () { # local s # local prog=${1##*/} # local command=$2 # local options="" # # case "$command" in # start) # s=$"Starting $prog (via systemctl): " # ;; # stop) # s=$"Stopping $prog (via systemctl): " # ;; # reload|try-reload) # s=$"Reloading $prog configuration (via systemctl): " # ;; # restart|try-restart|condrestart) # s=$"Restarting $prog (via systemctl): " # ;; # esac # # if [ -n "$SYSTEMCTL_IGNORE_DEPENDENCIES" ] ; then # options="--ignore-dependencies" # fi ....
如何设置tab缩进为4个字符
set tabstop=4
复制/etc/rc.d/init.d/functions文件至/tmp目录,替换/tmp/functions文件中/etc/sysconfig/init为/var/log
sed -i 's@/etc/sysconfig/init@/var/log@' /wang/functions [root@localhost wang]# grep "/etc/sysconfig/init" /wang/functions [root@localhost wang]# grep "/var/log" /wang/functions if [ -f /var/log ]; then . /var/log # This all seem confusing? Look in /var/log,
删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行的行首的#号
[root@localhost wang]# sed -i "s@^#\([[:space:]]\+\)@\1@" functions [root@localhost wang]# grep "^#" functions # #
原创文章,作者:DYW,如若转载,请注明出处:http://www.178linux.com/32787