#####文件处理指令#####
####比较文件的不同和打补丁####
打补丁:用于软件的快速更新
diff file1 file2 ##比较两个文件的不同
diff -c file1 file2 ##比较两个文件的不同(包括周围)
diff -u file1 file2 >file.path ##生成补丁
patch file1 file.path ##利用补丁给file1打补丁
vimdiff file1 file2 ##详细比较两个文件的不同
yum install patch -y ##安装打补丁软件
###grep过滤指令(查找行)#####
grep 关键字符 文件|目录 ##在文件或目录中查找含有关键字的行
grep -i ##忽略大小写
-n ##显示关键字所在行
-c ##显示过滤结果的个数
-v ##反向过滤
-E "关键字1|关键字2" ##过滤多个关键字
-r 目录 ##在目录中查找含有关键字的文件
注意: ^关键字 ##以关键字开头
grep ^root passwd
关键字$ ##以关键字结尾
grep root$ passwd
####cut(剪出列)####
cut ##截取字符
cut -d 分隔符 ##指定分隔符
cut -f 1,7[1-7] ##显示指定的列(配合-d的分隔符使用)
cut -c 1-4[1,4] ##显示指定的字符
cut -d : -f 1,3 passwd ##指定分隔符为:,查看分割的第一个第三列
ifconfig eth0|grep inet|grep inet6 -v|cut -d ' ' -f 10 ##查看IP地址
###sort(排序)####
sort [选项] [文件]
sort
-n ##纯数字排序(默认为ASCII排序)
-u ##去除重复项
-t ##指定分隔符
-k ##指定列
|uniq -c ##去除重复并统记重复次数
|uniq -d ##只显示重复的
|uniq -u ##只显示不重复的
eg:sort -t : -k 3 file -n |uniq -c
###替换指令tr###
tr 'A-Z' 'a-z' <file ##将file中的大写换乘小写(把前者换乘后者)
##上面不改变源文件内容
####替换指令sed####
sed 's/原字符/替换字符/g' file ##替换file中所有(无'g'表示只替换首个)的字符,不改变源文件内容
sed -e '策略1' -e '策略2' file ##使两个策略都能执行
sed -f rule file ##把rule中的额策略执行到file中
sed -i file ##把转换后的内容输入到指定文件(改变源文件内容)
sed '3,5s/a/1/g' file ##3-5行替换
sed '/qq/,/QQ/s/a/1/g' file ##将qq至QQ中的a替换为1
sed 5d file ##屏蔽第五行
sed 5p file ##复制第五行
sed -n 5p file ##只显示第五行
####比较文件的不同和打补丁####
打补丁:用于软件的快速更新
diff file1 file2 ##比较两个文件的不同
diff -c file1 file2 ##比较两个文件的不同(包括周围)
diff -u file1 file2 >file.path ##生成补丁
patch file1 file.path ##利用补丁给file1打补丁
vimdiff file1 file2 ##详细比较两个文件的不同
yum install patch -y ##安装打补丁软件
###grep过滤指令(查找行)#####
grep 关键字符 文件|目录 ##在文件或目录中查找含有关键字的行
grep -i ##忽略大小写
-n ##显示关键字所在行
-c ##显示过滤结果的个数
-v ##反向过滤
-E "关键字1|关键字2" ##过滤多个关键字
-r 目录 ##在目录中查找含有关键字的文件
注意: ^关键字 ##以关键字开头
grep ^root passwd
关键字$ ##以关键字结尾
grep root$ passwd
####cut(剪出列)####
cut ##截取字符
cut -d 分隔符 ##指定分隔符
cut -f 1,7[1-7] ##显示指定的列(配合-d的分隔符使用)
cut -c 1-4[1,4] ##显示指定的字符
cut -d : -f 1,3 passwd ##指定分隔符为:,查看分割的第一个第三列
ifconfig eth0|grep inet|grep inet6 -v|cut -d ' ' -f 10 ##查看IP地址
###sort(排序)####
sort [选项] [文件]
sort
-n ##纯数字排序(默认为ASCII排序)
-u ##去除重复项
-t ##指定分隔符
-k ##指定列
|uniq -c ##去除重复并统记重复次数
|uniq -d ##只显示重复的
|uniq -u ##只显示不重复的
eg:sort -t : -k 3 file -n |uniq -c
###替换指令tr###
tr 'A-Z' 'a-z' <file ##将file中的大写换乘小写(把前者换乘后者)
##上面不改变源文件内容
####替换指令sed####
sed 's/原字符/替换字符/g' file ##替换file中所有(无'g'表示只替换首个)的字符,不改变源文件内容
sed -e '策略1' -e '策略2' file ##使两个策略都能执行
sed -f rule file ##把rule中的额策略执行到file中
sed -i file ##把转换后的内容输入到指定文件(改变源文件内容)
sed '3,5s/a/1/g' file ##3-5行替换
sed '/qq/,/QQ/s/a/1/g' file ##将qq至QQ中的a替换为1
sed 5d file ##屏蔽第五行
sed 5p file ##复制第五行
sed -n 5p file ##只显示第五行