ubuntu操作系统学习笔记之文本处理
来源:互联网 发布:mysql update 走索引 编辑:程序博客网 时间:2024/05/16 18:18
文件浏览
cat : 显示全部内容
more : 以向下翻页的方式查看内容
less : 以向上/向下翻页的方式查看内容
head : 查看头N行(默认10行)
tail : 查看尾N行(默认10行)
grep
说明 : 基于关键字搜索文本.
Search for PATTERN in each FILE or standard input.
格式 : grep [OPTION]... PATTERN [FILE]...
可选项
-i : 忽略大小写
[root@wuqinfei wuqinfei]# grep 'WUQINFEI' /etc/passwd[root@wuqinfei wuqinfei]# grep -i 'WUQINFEI' /etc/passwdwuqinfei:x:500:500:wuqinfei:/home/wuqinfei:/bin/bash
-n : 显示结果所在行数
[root@wuqinfei wuqinfei]# grep -n 'wuqinfei' /etc/passwd35:wuqinfei:x:500:500:wuqinfei:/home/wuqinfei:/bin/bash
-v : 输出不带关键字的行
-A行数 : 输出匹配行之后的 N 行
-B行数 : 输出匹配行之前的 N 行
[root@wuqinfei wuqinfei]# grep -n 'wuqinfei' /etc/passwd35:wuqinfei:x:500:500:wuqinfei:/home/wuqinfei:/bin/bash[root@wuqinfei wuqinfei]# grep -nB3 'wuqinfei' /etc/passwd32-abrt:x:173:173::/etc/abrt:/sbin/nologin33-sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin34-tcpdump:x:72:72::/:/sbin/nologin35:wuqinfei:x:500:500:wuqinfei:/home/wuqinfei:/bin/bash
示例
$ grep 'wuqinfei' /etc/passwd
# find / -user wuqinfei | grep 'Video'
[wuqinfei@wuqinfei ~]$ grep 'wuqinfei' /etc/passwdwuqinfei:x:500:500:wuqinfei:/home/wuqinfei:/bin/bash[root@wuqinfei wuqinfei]# find / -user wuqinfei | grep 'Video'find: `/proc/2317/task/2317/fd/5': No such file or directoryfind: `/proc/2317/task/2317/fdinfo/5': No such file or directoryfind: `/proc/2317/fd/5': No such file or directoryfind: `/proc/2317/fdinfo/5': No such file or directory/home/wuqinfei/Videos[root@wuqinfei wuqinfei]# find / -user wuqinfei 2> /etc/null | grep 'Video'/home/wuqinfei/Videos
cut
说明 : 基于列 处理文本.
Print selected parts of lines from each FILE to standard output.
格式 : cut OPTION... [FILE]...
选项
-d分隔符: delimiter, 指定分隔字符(默认是Tab)
-f列号 : fields, 输出切割后的第几列, 从1开始. -f1,2,3 -f1-3
-c : 基于字符进行切割; -c2-4 , 获得每行的第2到4个字符. (从1开始)
示例
# cut -d: -f1 /etc/passwd
# grep wuqinfei /etc/passwd | cut -d: -f2
# grep wuqinfei /etc/passwd | cut -c1-4
[root@wuqinfei wuqinfei]# tail -n 3 /etc/passwdtcpdump:x:72:72::/:/sbin/nologinwuqinfei:x:500:500:wuqinfei:/home/wuqinfei:/bin/bashuser_a:x:501:501::/home/user_a:/bin/bash[root@wuqinfei wuqinfei]# tail -n 3 /etc/passwd | cut -d: -f1tcpdumpwuqinfeiuser_a[root@wuqinfei wuqinfei]# grep wuqinfei /etc/passwdwuqinfei:x:500:500:wuqinfei:/home/wuqinfei:/bin/bash[root@wuqinfei wuqinfei]# grep wuqinfei /etc/passwd | cut -d: -f2x[root@wuqinfei wuqinfei]# grep wuqinfei /etc/passwd | cut -d: -f1,2,3wuqinfei:x:500[root@wuqinfei wuqinfei]# grep wuqinfei /etc/passwd | cut -d: -f1-3wuqinfei:x:500[root@wuqinfei wuqinfei]# grep wuqinfei /etc/passwd | cut -d: -f1wuqinfei[root@wuqinfei wuqinfei]# grep wuqinfei /etc/passwd | cut -c1-4wuqi
wc
说明 : 统计文本信息
Print newline, word, and byte counts for each FILE, and a total line if
more than one FILE is specified. With no FILE, or when FILE is -,
read standard input.
格式 : wc [OPTION]... [FILE]...
选项
-l : 统计行数
-w : 单词数
-c : 字节数
-m : 字符数
示例
[root@wuqinfei MyDir]# cat 1.txthellohello worldhello linux world[root@wuqinfei MyDir]# wc 1.txt 3 6 36 1.txt[root@wuqinfei MyDir]# wc -l 1.txt3 1.txt[root@wuqinfei MyDir]# wc -w 1.txt6 1.txt[root@wuqinfei MyDir]# wc -c 1.txt36 1.txt[root@wuqinfei MyDir]# wc -m 1.txt36 1.txt
sort
说明 : 对文本内容进行排序, 不会写入原文件.(基于ASCII码表)
Write sorted concatenation of all FILE(s) to standard output.
格式 : sort [OPTION]... [FILE]...
选项
-r : 倒序
-n : 基于数字
-f : 忽略大小写
-u : 删除所有重复行 --unique. 也可使用 uniq命令删除相邻的重复行
[root@wuqinfei MyDir]# sort -u chs.txtaaab[root@wuqinfei MyDir]# uniq chs.txtaaabaaa
-t分隔符: 先用字符"c"对每行分隔, 然后基于-k列号 排序
[root@wuqinfei MyDir]# cat chs.txta:e:dc:b:a[root@wuqinfei MyDir]# sort chs.txta:e:dc:b:a[root@wuqinfei MyDir]# sort -t: -k3 chs.txtc:b:aa:e:d
示例
[root@wuqinfei MyDir]# cat chs.txtbcaed[root@wuqinfei MyDir]# sort chs.txtabcde[root@wuqinfei MyDir]# cat chs.txtbcaed
diff
说明 : 文本比较
Compare files line by line.
格式 : diff [OPTION]... FILES
选项
-i : 忽略大小写
-b : 忽略空格
-u : 统一显示比较信息(一般用于生成patch文件)
示例
[root@wuqinfei MyDir]# cat fileaaaabbbb[root@wuqinfei MyDir]# cp file file-new[root@wuqinfei MyDir]# ls -ltotal 8-rw-r--r--. 1 root root 10 Feb 3 13:45 file-rw-r--r--. 1 root root 10 Feb 3 13:46 file-new[root@wuqinfei MyDir]# echo "ccc" >> file-new[root@wuqinfei MyDir]# cat file-newaaaabbbbccc[root@wuqinfei MyDir]# diff file file-new2a3> ccc[root@wuqinfei MyDir]# diff -u file file-new--- file 2014-02-03 13:45:38.328922704 +0800+++ file-new 2014-02-03 13:46:38.050923691 +0800@@ -1,2 +1,3 @@ aaaa bbbb+ccc[root@wuqinfei MyDir]# diff -u file file-new > file.patch
tr
说明 : TRanslate, 处理文本内容.
Translate, squeeze, and/or delete characters from standard input,
writing to standard output.
格式 : tr [OPTION]... SET1 [SET2]
示例
[wuqinfei@wuqinfei MyDir]$ cat filehello, John.Mike, hello.[wuqinfei@wuqinfei MyDir]$ tr -d 'hello' < file, Jn.Mik, .[wuqinfei@wuqinfei MyDir]$ tr 'a-z' 'A-Z' < fileHELLO, JOHN.MIKE, HELLO.
sed
说明 : 搜索并替换文本内容
格式 : sed [OPTION]... {script-only-if-no-other-script} [input-file]...
示例: $ sed 's/a/b/g' file 将文件中所有a替换成b; s, search; g, global
[wuqinfei@wuqinfei MyDir]$ cat fileaaaaaaaa[wuqinfei@wuqinfei MyDir]$ sed 's/a/b/' filebaaabaaa[wuqinfei@wuqinfei MyDir]$ sed 's/a/b/g' filebbbbbbbb
示例: $ sed '2,4s/a/b/g' file 替换第2~4行
[wuqinfei@wuqinfei MyDir]$ cat file1aaaa2aaaa3aaaa4aaaa5aaaa[wuqinfei@wuqinfei MyDir]$ sed '2,4s/a/b/g' file1aaaa2bbbb3bbbb4bbbb5aaaa
示例: $ sed -f script-file file 调用文件中的script
[wuqinfei@wuqinfei MyDir]$ sed '2,4s/a/b/g' file1aaaa2bbbb3bbbb4bbbb5aaaa[wuqinfei@wuqinfei MyDir]$ echo '2,4s/a/b/g' > script-file[wuqinfei@wuqinfei MyDir]$ cat script-file2,4s/a/b/g[wuqinfei@wuqinfei MyDir]$ sed -f script-file file1aaaa2bbbb3bbbb4bbbb5aaaa
示例: $ sed -e script1 -e script2 file 同时使用多个script
[wuqinfei@wuqinfei MyDir]$ sed '1,3s/a/b/g' file1bbbb2bbbb3bbbb4aaaa5aaaa[wuqinfei@wuqinfei MyDir]$ sed '4,5s/a/c/g' file1aaaa2aaaa3aaaa4cccc5cccc[wuqinfei@wuqinfei MyDir]$ sed -e '1,3s/a/b/g' -e '4,5s/a/c/g' file1bbbb2bbbb3bbbb4cccc5cccc
- ubuntu操作系统学习笔记之文本处理
- Ubuntu操作系统学习笔记之磁盘基本概念
- Ubuntu 操作系统学习笔记之文件系统
- Ubuntu操作系统学习笔记之权限机制
- ubuntu操作系统学习笔记之------网络基础
- ubuntu操作系统学习笔记之网络配置
- Ubuntu 操作系统学习笔记之系统启动详解
- Ubuntu操作系统学习笔记之FTP基础
- ubuntu操作系统学习笔记之NFS安装
- Ubuntu操作系统学习笔记之NFS基础
- Ubuntu操作系统学习笔记之Vim 配置
- linux学习笔记之文本处理
- Linux学习笔记02之文本处理
- ubuntu之shell编程学习笔记5——基本文本处理
- Ubuntu操作系统学习笔记之五(Ubuntu常用指令)
- Ubuntu 操作系统学习笔记之二--系统目录架构
- Ubuntu操作系统学习笔记之-----文件基本操作管理
- Ubuntu操作系统学习笔记之Vim简单介绍
- 策略模式
- Maven 编译插件
- 2014年3月阿里巴巴实习生招聘笔试题目-北京站
- 逐行扫描与隔行扫描
- 请大家推荐跨语言的RPC库
- ubuntu操作系统学习笔记之文本处理
- 位操作 之三
- myEclipse从svn导出项目报unable to load default svn client错误
- 给他人同意
- android 学习: SurfaceView
- 汇编_8086作业
- 如何让传统行业的电商引发口碑效应并营销
- 常用javascript片断
- 开源粉末3D打印机 Pwdr