sed简单使用
1.删除第一行内容。 sed '1d' file.txt
2.删除第1,2行内容。 sed '1,2d' file.txt
3.将1,7行内容中含有redhat的单词替换为suse。 sed '1,7s/redhat/suse/' file.txt
4.在file.txt文件中的第7行下添加oracle单词 sed "7aoracle" file.txt
5 在file.txt文件中的第7行上添加oracle单词 sed "7ioracle" file.txt
6 在file.txt文件中的第7行替换为oracle单词 sed "7coracle" file.txt
在sed中嵌入正则相关内容
7 在file.txt文件中删除含有字符串mysql的行 sed "/mysql/d" file.txt
8 在file.txt文件中删除以字符串mysql为起始的行 sed "/^mysql/d" file.txt
9 在file.txt文件中打印以字符串$mysql为起始的行 sed -n "/\$mysql/p" file.txt
10 在file.txt文件中删除空行及含空格的空行 sed -e "/^$/d/" -e "/^ *$/d" file.txt
11 删除最后一行 sed "$d" file.txt
12 删除含redhat和Redhat的行 sed "/[rR]edhat/d" file.txt
13 删除^A-Z的开头的evin的行 sed "/^[A-Z]evin/d" fikle.txt
14 保存查找串以便在替换串中使用& sed "/kevin/&zou " file.txt
15 删除连续的字符 sed "/go\{2\}gle/d" file.txt (删除含google的行)
sed "/go\{2,\}gle/d" file.txt (删除含gooooal的行)
sed "/go\{2,3\}gle/d" (删除含google的行和gooogle的行)
awk简单使用
1. key=":"
awk -F$key '{print $1}' /etc/passwd 输出每一行的第一列。
2. awk '{sum+=1};END{print sum}' /etc/passwd 输出文件中的行数。
3. awk "BEGIN {sum=10};{sum+=1};END{priint sum} " /etc/hosts 使用BEGIN定义变量。
4. awk -F: '{ if ($3<100) {print $1} }' /etc/passwd
5.awk 'END {print ARGC}' /etc/passwd /etc/hosts 输出命令行中参数的个数。
6.awk 'END {print Filename}' /etc/passwd 输出命令行中参数的个数。
7.awk 'END {print FNR}' /etc/hosts /etc/passwd 最后一个文件的行数。
8.awk 'END {print NR }' /etc/hosts /etc/passwd 全部输入文件的行数。
9.awk 'BEGIN {FS=L};{print $2} ' /etc/hosts 间隔符为L
10.awk '{ if ($3==0) {system ("id $1")}' } ' /etc/passwd
11.awk -F: '{while (NF>1) {print $NF ":" NF-- };{print $1} }' /etc/passwd 倒序排列