这是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}' |