Files
rikako-note/linux/fr_cmd.md
2022-04-10 00:43:15 +08:00

28 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 常用的linux命令
> ## 文件、字符串操作命令
* **awk命令**:
awk是好用的行处理工具其能够将每行的文本当作参数传递给自定义的动作其数据既可以来源于管道的输入也可以来源于指定的文件
* awk命令的格式类似于
```shell
awk '条件1{动作1} 条件2{动作2}...' filename
```
* awk处理行数据时分割字段默认用'空格'或者tab'进行分割
* awk内建变量
1. NR 当前行的行号
2. NF 当前行字段的数量
3. FS 目前的分隔字符,默认是空格
* 若想要在动作中定义FS必须在定义FS的动作之前加上BEGIN关键字表示预先设定FS。否则FS的设定对第一行不会生效因为只有将第一行读入并按默认的FS进行分割后为FS赋值的动作才会执行
```shell
#例如为awk命令定义BEGIN 的FS赋值动作
cat /etc/passwd | head -n 10 | awk 'BEGIN{FS=":";}
{print NR "\t" $1 "\t" $3 ""}'
```
* uniq命令
uniq命令将整合相邻且相同的行为一行通常配合sort使用来消去排序后重复的行若指定-c选项则在字符串前加上一列表示各行字符串的频数
* sort命令
* -r : 反向排序
* -f : 忽略大小写差异
* -n : 使用纯数字来排序
* -b : 忽略前面的空格部分
* -f : 针对特定的域来进行排序