shell脚本学习指南笔记-3.查找与替换
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin$ cut -d / -f 1,2 /etc/passwd
root:x:0:0:root:/root:
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:root pts/0 2011-11-16 06:49 (192.168.1.100)
$ who | cut -d / -f 1
root pts
$ ls -l | cut -c 1-10
total 16
drwxr-xr-x
-rw-r--r--
-rw-r--r--cut -c list [file]
cut -f list [-d delim] [file]
-c list 查询每行的list所表示数据索引的数据 list如:1,10 or 1-10
-d delim 根据delim为定界符,默认为Tab
-f list 设置list的数据段索引,根据-d 返回对应的数据
注:在centos5.4中测试,无法单独的使用-d,一定要和-f一起使用
JOIN的用法
quotas
joe 50 jane 75 herman 80 chris 95
sales
joe 100 jane 200 herman 150 chris 300
#! /bin/sh #删除注释 sed '/^#/d' quotas | sort > quotas.sorted sed '/^#/d' sales | sort > sales.sorted #连接两个文本且打印 join quotas.sorted sales.sorted #删除缓存文件 rm quotas.sorted sales.sorted
sed的简单用法
#s命令,要求用正则表达式进行寻找,/为分格符,且是默认的分格符,此命令是把baidu替换为google echo www.baidu.com | sed 's/baidu/google/' 结果:www.google.com # ; 为分格符,这里是自定义的分格符,紧跟s后的字符,都被认为新的分格符 echo /home/tolstoy | sed 's;\(/home\)/tolstoy;\1/lt;' # 寻找192.168.0.1开头行,且在192.168.0.1后追加localhost字符串 echo 192.168.0.1:8080 | sed 's/^192.168.0.1/&localhost/' # 寻找192.168.0.1开头行,且在192.168.0.1替换为localhost字符串 echo 192.168.0.1:8080 | sed 's/^192.168.0.1/localhost/' cat > template-date 192.168.0.1 what is your name? what is this? loveable I love you I like you I need you ^d # -n与p一起使用,将只打印已被替换的行 sed -n 's/\(love\)able/\1rs/p' template-date # 打印第1行到第一个以I开头的行的所有行 sed -n '1,/^I/p' template-date # 从192到I的所有行,每行结束更换为sed test,且打印 sed -n '/192/,/I/s/$/sed test/p' template-date 192.168.0.1sed test what is your name?sed test what is this?sed test loveablesed test I love yoused test
相关推荐
farwang 2020-04-26
圆圆的世界CSDN 2020-04-06
圆圆的世界CSDN 2020-01-30
WindowsandLinux 2016-12-13
KINGJENSEN 2016-10-14
lianshaohua 2020-10-20
thickbookszone 2020-10-16
rechanel 2020-11-16
fendou00sd 2020-06-16
sunln00 2020-07-17
NBkiller 2020-06-14
河的第三条岸 2020-06-12
Darklovy 2020-06-07
playlinuxxx 2020-05-11
qidu 2020-04-26
lishaokang 2020-04-22
昭君出塞 2020-04-15
cdkey 2020-03-07