1.按列取的命令
awk
awk -F '\t' '{print $1,$2,$3}' user.txt
sort
sort -t $'\t' -k2n user.txt
cut
cut -d $'\t' -f1,2,3 user.txt
2.数据处理命令的对比
grep sed awk
grep
grep [参数] '匹配关键字' fileName
-c:count
-e:多个连续命令
-E:extend
-i:ingore
-n:number
-r:recursive
-v:反转
sed
sed [参数] '[/匹配关键字/]{命令}' fileName
例:sed '1a newline' user.txt
-n:安静模式
-e:多个连续命令
-i:insert
a:add
'na content'
i:insert
'ni content'
c:change
'nc content'
'm,nc content'
d:delete
'nd'
'm,nd'
s:s/old/new/g
p:print
'np'
'm,np'
匹配例子:sed -n '/Xiao/p' t.txt
awk
awk [-Ffv] 'BEGIN{命令1}{命令2}END{命令3}' [参数=值] fileName
(1)
-F:指定分隔符 FS
FS:输入分隔符 默认 空格
NF:字段数量
NR:行号
RS:换行符 默认 换行符
OFS:输出分隔符 默认 空格
ORS:输出换行符 默认 换行符
$0:本行内容
$1:第一个字段
(2)
匹配例子:awk '/关键字/{命令}' fileName
== != ~ || &&
(3)
例子:awk 'BEGIN{命令1} {命令2} END{命令3}' fileName
变量的定义:num=1
if(判断条件)
while() ...
do... while()
grep:文本匹配
sed:文本编辑
awk:复杂处理
3.其他命令
uniq
sort user.txt | uniq
uniq user.txt
sort -u user.txt
wc
wc -lwm user.txt
sort
cut
awk
awk -F '\t' '{print $1,$2,$3}' user.txt
sort
sort -t $'\t' -k2n user.txt
cut
cut -d $'\t' -f1,2,3 user.txt
2.数据处理命令的对比
grep sed awk
grep
grep [参数] '匹配关键字' fileName
-c:count
-e:多个连续命令
-E:extend
-i:ingore
-n:number
-r:recursive
-v:反转
sed
sed [参数] '[/匹配关键字/]{命令}' fileName
例:sed '1a newline' user.txt
-n:安静模式
-e:多个连续命令
-i:insert
a:add
'na content'
i:insert
'ni content'
c:change
'nc content'
'm,nc content'
d:delete
'nd'
'm,nd'
s:s/old/new/g
p:print
'np'
'm,np'
匹配例子:sed -n '/Xiao/p' t.txt
awk
awk [-Ffv] 'BEGIN{命令1}{命令2}END{命令3}' [参数=值] fileName
(1)
-F:指定分隔符 FS
FS:输入分隔符 默认 空格
NF:字段数量
NR:行号
RS:换行符 默认 换行符
OFS:输出分隔符 默认 空格
ORS:输出换行符 默认 换行符
$0:本行内容
$1:第一个字段
(2)
匹配例子:awk '/关键字/{命令}' fileName
== != ~ || &&
(3)
例子:awk 'BEGIN{命令1} {命令2} END{命令3}' fileName
变量的定义:num=1
if(判断条件)
while() ...
do... while()
grep:文本匹配
sed:文本编辑
awk:复杂处理
3.其他命令
uniq
sort user.txt | uniq
uniq user.txt
sort -u user.txt
wc
wc -lwm user.txt
sort
cut