jrgf 发表于 2018-8-19 13:33:00

shell 语法

  用正则给ip对应的mac分割
  # catipmac.txt
  192.168.4.5   121212452242
  192.168.4.2   242426231251
  192.168.4.3   242426231324
  #vim ipmac.txt
  1    192.168.4.5   12:12:12:45:22:42
  2    192.168.4.2   24:24:26:23:12:51
  3    192.168.4.3   24:24:26:23:13:24
  ~
  ~
  ~
  ~
  ~
  :%s /\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)$/\1:\2:\3:\4:\5:\6/g
  # grep -v "^$" kb |grep -v "^#"
  # sed -i '/^$/d' 1.txt                     删除空白行
  #sed -i '/^$/d' kb
  #sed -i 's/^/AAA/' kb
  #sed -i 's/$/BBB/' kb
  #sed -i "s/^#an/an/" /etc/vsftpd/vsftpd.conf删除注释
  #sed -i "s/^an/#an/" /etc/vsftpd/vsftpd.conf   添加注释
  # sed '/id/s//5/'/etc/inittab
  # sed -i '/bash/s#/bin/bash#/sbin/nologin#' /etc/passwd
  # head -1 /etc/passwd
  root:x:0:0:root:/root:/sbin/nologin
  sed -i 'r /etc/passwd' 1.txt (在1.txt中每行下面都导入一个这样文件内容 )
  sed-i '1r /etc/passwd' 1.txt(在第一行导入内容)
  # sed '2,3w y.txt' n.txt (把n.txx第二和第三行导出到y.txt中 之前内容被覆盖了 且是真导入 不用-i)
  # cat y.txt
  bbbbbbbbbb
  ccccccccc
  # cat n.txt
  aaaaaaaa
  bbbbbbbbbb
  ccccccccc
  ddddddddd
  (下面两个命令相等)
  #sed -n'/bash$/s/:.*//p'/etc/passwd
  # awk -F: '/bash$/{print $1}' /etc/passwd
  root
  dc
  45
  # awk '/bash$/{print $1}' /etc/passwd
  root:x:0:0:root:/root:/bin/bash
  dc:x:501:501::/home/dc:/bin/bash
  45:x:502:502::/home/45:/bin/bash
  # awk '{print $1}' 1.txt
  # awk '/ma/' 1.txt (专门打条件,没打指令是显示该条件整行)
  chi l ma ni
  # awk '/ma/{print $1}' 1.txt (显示该条件的行第一个
  chi
  # awk '{print NR}' b.txt(显示b.txt该文件有多少行号)
  1
  2
  3
  # awk '/555/{print NR}' b.txt(显示555在b.txt中第几行)
  # awk '{print NF}' b.txt   (显示每行有多少列)
  3
  3
  5
  # awk '{IP[$1]++}END{for(i in IP){print i,IP}}' /var/log/httpd/access_log
  192.168.4.2542583
  ::180
  # awk '{print $1}' /var/log/httpd/access_log|sort|uniq
  80::1
  2583192.168.4.254
  # who |awk '{IP[$1]++}   END{for(i in IP) {print i,IP}}'
  root 2
  #ifconfig eth0 |awk -F "[ :]"'/inet addr/{print $13}'
  192.168.4.1
  rpm包也可以用yum装 不需要用rpm -ivh*.rpm (这样可以解决依赖关系)
  date -d@'1000'
  去掉文件中的空行,并给有数据的行前面加AAA后面加BBB。
  sed -i '/^$/d' kb
  sed -i 's/^/AAA/' kb
  sed -i 's/$/BBB/' kb
  # cat kb
  dasdafdsf
  fsadfas
  f
  #dfsadfas
  #fasd
  #f
  #fasdfas
  #df
  #as
  # sed -i '/^$/d' kb
  # cat kb
  dasdafdsf
  fsadfas
  f
  #dfsadfas
  #fasd
  #f
  #fasdfas
  #df
  #as
  # sed -i 's/^/AA/' kb
  # cat kb
  AAdasdafdsf
  AAfsadfas
  AAf
  AA#dfsadfas
  AA#fasd
  AA#f
  AA#fasdfas
  AA#df
  AA#as
  # sed -i 's/$/BB/' kb
  # cat kb
  AAdasdafdsfBB
  AAfsadfasBB
  AAfBB
  AA#dfsadfasBB
  AA#fasdBB
  AA#fBB
  AA#fasdfasBB
  AA#dfBB
  AA#asBB
  客户端使用vnc和服务器同步屏幕
  # yum provides */vncviewer
  # yum -y install tigervnc
  # vncviewer
  输入ip和端口就ok

页: [1]
查看完整版本: shell 语法