Linux的cut,split,paste,grep,sed和awk命令总结

这是linux文本操作常用的几个命令,现在进行总结下

命令

常用用法

参数意义/示例

常用作用

cut

cut -d '分隔符号'-f fileds

cut -d ":" -f 3,5

切,纵向切,切列,相当于剪切,取的是某1列或某几列

cut -c 字符范围

cut -c 12-

切割排列整齐的信息

paste

paste [-d] file1 file2

-d后面是分隔符,默认[tab]分隔

追加列,纵向添加,和cut反向对应

cat file1|paster file2 -

-如果是管道命令,file1或file2就用-表示

>>

行追加,增加行

split

split [-bl] file prefix

-b表示要切割成的文件的大小,比如300k,300M

根据文件大小和行数对文件进行切割

-l以行数来切割

示例1

split -b 300M file1 file1

会生成file1aa``file1ab``file1ac等文件

如果合并则,cat file1*>>file1

示例2

ls -al|split -l 10 - lsroot

每10行记录一个文件,注意-

grep

grep [-acinv] "查找字符串" filename

-c计算查找字符串的次数`

提取整行

-n 同时输出行号

-i忽略大小写,视为相同

-v反向选择

sed

sed [-nefr] '动作'

-e直接在命令行进行动作编辑

作用非常之多,替换,删除,新增,选取特定行,也就是常作用于行

-f将sed动作写在一个文件内

-f file可以执行file内的动作

示例1

cat file|sed '2,5d'

删除2-5行

-e加不加都可以

示例2

'2,$d'

2到最后一行,$表示最后一行

示例3

cat file|sed -n '5,7p'

列出5-7行,比head和tail组合方便多了

最常用示例

sed 's/要被替换的/新的/g'

g表示全部替换

awk

awk '{动作}' filename

支持管道

处理每一行的字段内的数据,默认的字段分隔符是空格或tab键

示例1

last -n 5|awk '{print$1 "\t" $3}'

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券