转载http://hi.baidu.com/%C3%CE%C0%EF%CF%E3%B0%CD%C0%AD/blog/item/caf21ba89c54ada1ca130c4a.html
一、sort
Usage: sort [OPTION]... [FILE]...
-o 输出文件
-d 按字典顺序排序
-n 按数据大小输出
-r 按逆序输出排序结果
-k 指定分类是域上的数字分类
-t 域分隔符,用非空格或tab分隔域
sort -k3 -n -r -t: /etc/passwd
sort -d /etc/passwd
二、WC
Usage: wc [OPTION]... [FILE]...
-c 字符数量~
-l 行数~
-w 统计单词数量~
wc /etc/passwd
36 65 1739 /etc/passwd #36行,65个单词(空格区分),1739个字符
三、diff
diff
Usage: diff [OPTION]... FILES
Compare files line by line.
-q 显示有无差异,不显示详细的信息~
-c 显示全部内文,并标出不同之处~
-b 不检查空格字符的不同~
-B 不检查空白行
-r 比较子目录中的文件~
diff /etc/passwd ./passwd.bak
2d1
< bin:x:1:1:bin:/bin:/sbin/nologin
四、grep
Usage: grep [OPTION]... PATTERN [FILE] ...
Search for PATTERN in each FILE or standard input.
-c 只打印匹配的行编号数
-i 匹配文本时忽略大小写
-n 在每行前显示其行编号
-v 逆向输出,打印不匹配的行
-f file 要匹配的字符在文件列表中
cat /etc/passwd |grep -n root
1:root:x:0:0:root:/root:/bin/bash
12:operator:x:11:0:operator:/root:/sbin/nologin
#grep '[Tt]his' file.txt
#grep '^[^#]' file.txt
匹配任意字符
grep 'r..t' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
五、sed
sed
Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]...
S 替代操作
i 插入命令
a 附加命令
d 删除全部匹配行
D 删除首次匹配的行
#sed -n '1,4p' /etc/passwd 打印1~4行,-n --quiet以免先打印出passwd的全部内容
#sed '/80/D' file.txt
#sed 's/var/usr/g' file.txt 替换file.txt中全部var为usr
#sed '50,$s/help/man/g' file.txt 从50~最后行替换help为man
sed '/done/d' xj_user_p.log 删除done
六、awk
Usage: awk [POSIX or GNU style options] -f progfile [--] file ...
Usage: awk [POSIX or GNU style options] [--] 'program' file ...
gawk '{ sum += $1 }; END { print sum }' file
gawk -F: '{ print $1 }' /etc/passwd
NF 当前记录中的字段数。NR 当前记录数。
awk -F: '{print NR,$1,$NF}' ./passwd.bak
awk -F: 'NR%10==5{print NR,$0}' ./passwd.bak 打印出5,15,25...行
5 sync:x:5:0:sync:/sbin:/bin/sync
15 nobody:x:99:99:Nobody:/:/sbin/nologin
25 apache:x:48:48:Apache:/var/www:/sbin/nologin
综合示例:
...
数据处理:
找出上海股票涨幅最大的股票?
sort -n -r -k4 t.txt | sed -n '1p'
涨幅>3的股票?
awk '{if ($1>3) print $0} ' t.txt
涨幅在在4~15之间的股票
awk '{if($4>0&&$4<15){print $0}}' t.txt
分享到:
相关推荐
Linux笔记——命令:awk Linux笔记——命令:sed Linux笔记——命令:grep Linux笔记——命令:find Linux笔记——命令:Sort,uniq,join,cut,paste,split Linux笔记——shell基础:变量&本地变量&位置变量&特定变量...
- **定义**:`grep` 是 Linux 和 Unix 系统中的一种强大的文本搜索工具,它能够使用正则表达式来搜索文本,并将匹配的行打印出来。其全称是 Global Regular Expression Print,意为全局正则表达式版本。 - **功能**...
"grep"、"awk"、"sed"等工具也可以用于数据处理。 压缩与解压缩工具如"zip"、"tar"、"gzip"、"bzip2"等,在Linux中广泛使用。这些工具用于打包和压缩文件,以节省存储空间和便于文件传输。 shell编程是Linux运维...
6. **AWK**:AWK是一种编程语言,专门用于处理结构化的文本数据。它可以方便地进行数据分析、格式化输出等任务。 7. **进程控制**:在Linux中,`Ctrl+z`会挂起当前进程,而`Ctrl+c`则会终止一个进程。`bg`命令使挂...
- `awk`: 强大的文本处理工具,用于格式化输出、数据处理等任务。 - `sed`: 流编辑器,常用于文本替换和过滤。 15. **文件合并与分割** - `cat`: 连接文件并将结果输出到标准输出。例如:`cat file1 file2 > ...
- 如`grep`, `awk`, `sed`等用于文本处理。 **2.7 查找Linux OS名称和版本号** - 结合使用`cat`和`grep`来识别不同的包管理系统。 #### 第三章:获取正在运行的Linux内核信息 **3.1 获取Linux内核详细信息** - ...
例如,`sort`用于对数据进行排序,`grep`用于搜索匹配的文本,`awk`则是一种强大的文本处理工具,可以处理和分析列数据。 在学习的初期,会接触一些基本的Shell命令。`echo`命令用于在终端输出文本,可以使用选项如...
`sed`和`awk`是两个强大的文本处理工具。`sed`用于对输入流进行逐行处理,可以实现替换、删除、插入等功能。`awk`则基于模式匹配进行数据处理,更适合数据分析和报告生成。 7. **引号和算术运算** 引号(单引号`'...
10. **Shell扩展和工具**:Unix提供了许多强大的工具,如awk、sed、grep、find、cut、sort等,它们可以与Shell结合,实现复杂的文本处理和文件操作。 通过《Unix Shell 实例精解》这本学习笔记,你可以逐步掌握这些...
2. **文本处理**:Shell提供了强大的文本处理工具,如`grep`搜索文本,`sed`进行流编辑,`awk`处理和分析数据,`cut`截取字段,`sort`排序文件。 3. **流程控制**:Shell支持条件语句(`if`、`else`)、循环(`for`...
2. **高级命令**:涵盖更复杂的功能,如grep(搜索文本模式)、sed(流编辑器)、awk(处理文本数据)和find(查找文件)等。 3. **管道和重定向**:如何利用管道(|)和重定向(>、<)将命令输出进行组合或存储。 4...
最后,了解Shell脚本的常用工具,如awk、sed、find、sort、uniq等,可以帮助我们更高效地处理数据和文件。 在"document-main"这个文件中,可能包含了以上提到的一些实例、练习或解释,帮助学习者逐步掌握Shell编程...
**grep - 搜索文本并打印匹配行** - **用途**:在文件中搜索特定模式。 - **常用选项**: - `-i` 忽略大小写。 - `-v` 取反搜索结果。 - **示例**:`grep "error" log.txt` #### 16. **find - 搜索文件并执行...