newxiezhr.txtEdit atau tambahkan kandungan pada penghujung fail cat>>xiezhr."/> newxiezhr.txtEdit atau tambahkan kandungan pada penghujung fail cat>>xiezhr.">
Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >Cara menggunakan arahan yang berkaitan dengan kandungan fail Linux
cat ialah singkatan daripada perkataan concatenate, atau ia boleh difahami sebagai kucing, "meow" kandungan fail, iaitu kandungan fail dipaparkan.
boleh digunakan untuk memaparkan kandungan satu fail Beberapa fail boleh disambungkan bersama-sama untuk memaparkan kandungan daripada input standard dan gunakannya dengan pengalihan atau tambah simbol , lihat kandungan fail cat xiezhr.txt Lihat kandungan xiezhr.txt Cantumkan berbilang fail menjadi satu cat xiezhr1.txt xiezhr2.txt >newxiezhr.txt Edit atau tambahkan kandungan pada penghujung fail cat >>xiezhr. txtxiezhr.txt arahan boleh mengosongkan kandungan fail xiezhr.txt, tetapi fail itu masih wujud
<.>2. Format sintakscat [参数选项] [文件]
4 Operasi praktikal① Laksanakan kucing secara terus tanpa menambah parameter untuk melihat kandungan fail
[root@xiezhr test]# cat xiezhr.txt 个人公众号:XiezhrSpace 个人博客:www.xiezhrspace.cn 个人微信号:xie_zhr 欢迎您的关注!② Cipta dan edit xiezhr.txt fail melalui penciptaan bukan interaktif
xiezhr.txt di atas Untuk fail, kita boleh mencipta fail kosong dahulu dengan menyentuh xiezhr.txt seperti yang dinyatakan sebelum ini,
dan kemudian mengedit kandungan xiezhr.txt melalui vi /vim (kita akan bercakap tentang penggunaannya secara terperinci dalam keluaran seterusnya).
[root@xiezhr test]# ls a.txt c.txt dir dir2 dir3 dir5 dir6 dir_bak movie.tar.gz test.txt tt.txt [root@xiezhr test]# cat >xiezhr.txt<<EOF > 个人公众号:XiezhrSpace > > > 个人博客:www.xiezhrspace.cn > > > > 个人微信号:xie_zhr > > 欢迎您的关注! > EOF #注意,这里需要按回车结束,EOF为标签,我们可以用其他标签替代,但是必须成对出现。 [root@xiezhr test]# ls a.txt c.txt dir dir2 dir3 dir5 dir6 dir_bak movie.tar.gz test.txt tt.txt xiezhr.txt③ Gunakan [-n] dan [-b] untuk memaparkan nombor siri sebelum fail dibuat di atas
[root@xiezhr test]# cat -n xiezhr.txt 1 个人公众号:XiezhrSpace 2 3 4 个人博客:www.xiezhrspace.cn 5 6 7 8 个人微信号:xie_zhr 9 10 欢迎您的关注! [root@xiezhr test]# cat -b xiezhr.txt 1 个人公众号:XiezhrSpace 2 个人博客:www.xiezhrspace.cn 3 个人微信号:xie_zhr 4 欢迎您的关注!④ Gunakan parameter [-E] untuk memaparkan $
. di hujung setiap baris.
[root@xiezhr test]# cat -E xiezhr.txt 个人公众号:XiezhrSpace$ $ $ 个人博客:www.xiezhrspace.cn$ $ $ $ 个人微信号:xie_zhr$ $ 欢迎您的关注!$⑤Gunakan parameter [-s] untuk menukar berbilang baris kosong dalam kandungan fail menjadi satu baris kosong, yang memudahkan kita membaca
[root@xiezhr test]# cat -s xiezhr.txt 个人公众号:XiezhrSpace 个人博客:www.xiezhrspace.cn 个人微信号:xie_zhr 欢迎您的关注!Berbilang baris kosong dalam fail di atas menjadi satu , supaya apabila fail itu mengandungi banyak kandungan, ia akan menjadi lebih mesra untuk dibaca. Sudah tentu, anda juga boleh mengalih keluar semua baris kosong Kami akan membincangkan perkara ini dalam arahan berikut⑥ Sambungkan berbilang fail dan paparkan kandungan
# 创建test1.txt 文件 [root@xiezhr test]# cat >test1.txt <<EOF > 这个是test1.txt的内容 > EOF # 创建test2.txt文件 [root@xiezhr test]# cat >test2.txt <<EOF > 这个是test2.txt的内容 > EOF # 将test1 test2 文件合并并输出 [root@xiezhr test]# cat test1.txt test2.txt test3.txt 这个是test1.txt的内容 这个是test2.txt的内容lebih banyak paparan Paging. Kandungan fail 1. Pengenalan lagi Fungsinya serupa dengan kucing Cat memaparkan keseluruhan kandungan fail sekaligus, manakala lebih banyak lagi memaparkan kandungan fail halaman demi halaman. Jika kita membaca lebih banyak halaman, kita boleh lebih memahami maksud bahasa Cina dan mengingatnya dengan lebih baik. ????2. Format sintaks
more [参数选项] [文件]
参数 | 参数说明 |
---|---|
-num | 指定屏幕显示大小为num行 |
+num | 从行号num开始显示 |
子命令 | 说明 |
---|---|
h或? | 查看帮助 |
空格键[space] | 向下滚动一屏 |
b | 返回上一屏 |
Enter | 向下显示一行 |
/要查找的内容 | 查找指定的文本内容 |
= | 输出当前行的行号 |
:f | 输出打开的文件名和行号 |
v | 调用vi编辑器 |
! | 调用shell并执行命令 |
q | 退出more |
[root@xiezhr ~]# more /etc/services # /etc/services: # $Id: services,v 1.55 2013/04/14 ovasik Exp $ # # Network services, Internet style # IANA services version: last updated 2013-04-10 # ......由于文件内容比较多此处省略n行..... ssh 22/udp # The Secure Shell (SSH) Protocol telnet 23/tcp --More--(0%)② Gunakan parameter [-num] untuk memaparkan nombor baris setiap halaman
[root@xiezhr ~]# more -5 /etc/services # /etc/services: # $Id: services,v 1.55 2013/04/14 ovasik Exp $ # # Network services, Internet style # IANA services version: last updated 2013-04-10② Gunakan parameter [+num] untuk memaparkan
[root@xiezhr ~]# more +666 -6 Usage: more [options] file... Options: -d display help instead of ring bell -f count logical, rather than screen lines -l suppress pause after form feed -p do not scroll, clean screen and display text -c do not scroll, display text and clean line ends -u suppress underlining -s squeeze multiple blank lines into one -NUM specify the number of lines per screenful +NUM display file beginning from line number NUM +/STRING display file beginning from search string match -V output version information and exitkurang bermula dari baris num Paparkan kandungan fail dalam paging 1 Walaupun maksud Cina lss adalah less , yang nampaknya mempunyai lebih sedikit fungsi, tetapi sebenarnya serupa dengan lebih banyak. Ia adalah versi yang dipertingkatkan dengan lebih banyak fungsi2. Format sintaks
less [参数选项] [文件]3
使用less命令打开文本之后,会进入vi交互界面。下面列出了一些常用交互式子命令
子命令 | 说明 |
---|---|
空格键[space] | 向后翻一页 |
b | 向前翻一页 |
回车键[Enter] | 向下滚动一行 |
↑ | 向上滚动一行 |
↓ | 向下滚动一行 |
[PgUp] | 向前翻一页 |
[PgDn] | 向后翻一页 |
/字符串 | 向下搜素“字符串” |
?字符串 | 向上搜素”字符串“ |
n | 向后查找下一个匹配的文本 |
N | 向上查找上一个匹配的文本 |
v | 进入vi编辑界面 |
! | 调用shell,并执行命令 |
G | 移动到最后一行 |
g | 移动到第一行 |
h | 显示帮助界面 |
q | 退出less |
① 不带参数查看文件
[root@xiezhr ~]# less /etc/services # /etc/services: # $Id: services,v 1.55 2013/04/14 ovasik Exp $ # # Network services, Internet style # IANA services version: last updated 2013-04-10 ......省略n行......
② 带上【-N】参数,显示行号
[root@xiezhr ~]# less -N /etc/services 1 # /etc/services: 2 # $Id: services,v 1.55 2013/04/14 ovasik Exp $ 3 # 4 # Network services, Internet style 5 # IANA services version: last updated 2013-04-10 6 # 7 # Note that it is presently the policy of IANA to assign a single well-known ......此处省略n行......
head 中文意思时头部,相信你也想到了,head的功能就是显示文件内容的头部。默认显示头10行
head [参数选项] [文件]
参数选项 | 参数说明 |
---|---|
-n | 显示前n行 |
① 不带参数,默认显示前十行
[root@xiezhr ~]# head /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin
②带上【-n】参数,显示文件前n行
[root@xiezhr ~]# head -n 5 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
"Tail"这个命令的中文意思是"尾巴",你现在应该知道这个命令的作用了。你想的没错,就是显示文件最后10行,和命令head相反
tail [参数选项] [文件]
参数 | 参数说明 |
---|---|
-n | 指定显示的行数 |
-f | 实时输出文件变化后追加的数据 |
① 不带参数,默认显示最后10行
[root@xiezhr ~]# tail /etc/passwd abrt:x:173:173::/etc/abrt:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:997:995::/var/lib/chrony:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin syslog:x:996:994::/home/syslog:/bin/false git:x:995:993:git version control:/home/git:/bin/bash nginx:x:994:992:Nginx web server:/var/lib/nginx:/sbin/nologin mysql:x:1000:1000::/home/mysql:/bin/bash xiezhr:x:1001:1001::/home/xiezhr:/bin/bash
② 显示文件尾部5行
[root@xiezhr ~]# tail -n 5 /etc/passwd syslog:x:996:994::/home/syslog:/bin/false git:x:995:993:git version control:/home/git:/bin/bash nginx:x:994:992:Nginx web server:/var/lib/nginx:/sbin/nologin mysql:x:1000:1000::/home/mysql:/bin/bash xiezhr:x:1001:1001::/home/xiezhr:/bin/bash
③ 实时跟踪日志的变化(实际工作中经常用到,需要牢靠掌握)
[root@xiezhr /]# tail -f /var/log/nginx/access.log 118.126.124.141 - - [22/Mar/2022:23:11:10 +0800] "GET /categories/%E8%A7%89%E9%86%92%E5%B9%B4%E4%BB%A3/ HTTP/1.1" 200 10085 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36" "-" 14.215.156.21 - - [22/Mar/2022:23:11:10 +0800] "GET /medias/logo.png HTTP/1.1" 200 112674 "-" "-" "-" 54.36.148.108 - - [22/Mar/2022:23:12:14 +0800] "GET / HTTP/1.1" 200 14641 "-" "Mozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/)" "-" 69.162.124.234 - - [22/Mar/2022:23:13:23 +0800] "HEAD / HTTP/1.1" 200 0 "https://www.xiezhrspace.cn" "Mozilla/5.0+(compatible; UptimeRobot/2.0; http://www.uptimerobot.com/)" "-" 216.245.221.91 - - [22/Mar/2022:23:14:10 +0800] "HEAD / HTTP/1.1" 200 0 "https://www.xiezhrspace.cn" "Mozilla/5.0+(compatible; UptimeRobot/2.0; http://www.uptimerobot.com/)" "-" 207.46.13.67 - - [22/Mar/2022:23:16:44 +0800] "GET /archives/f454bf8f.html HTTP/2.0" 200 15842 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "-" 40.77.167.21 - - [22/Mar/2022:23:17:00 +0800] "GET /libs/share/js/social-share.min.js HTTP/2.0" 200 9195 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "-" 157.55.39.183 - - [22/Mar/2022:23:17:00 +0800] "GET /libs/share/css/share.min.css HTTP/2.0" 200 1082 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "-" 69.162.124.234 - - [22/Mar/2022:23:18:23 +0800] "HEAD / HTTP/1.1" 200 0 "https://www.xiezhrspace.cn" "Mozilla/5.0+(compatible; UptimeRobot/2.0; http://www.uptimerobot.com/)" "-" 216.245.221.91 - - [22/Mar/2022:23:19:10 +0800] "HEAD / HTTP/1.1" 200 0 "https://www.xiezhrspace.cn" "Mozilla/5.0+(compatible; UptimeRobot/2.0; http://www.uptimerobot.com/)" "-"
tailf 功能与 tail -f 命令基本相同,记住一个即可
diff 命令用于逐行比较两个文件的不同,并输出差异内容
diff [参数选项] [文件1] [文件2]
3、参数说明
参数 | 参数说明 |
---|---|
-y | 以并列的方式显示两个文件的不同 |
-W | 在使用-y参数时,指定显示的宽度 |
-c | 使用上下文的输出格式 |
-u | 使用统一格式输出 |
① 不带参数,比较两个文件
[root@xiezhr test]# cat test1.txt 1 2 3 4 [root@xiezhr test]# cat test2.txt 3 4 5 [root@xiezhr test]# diff test1.txt test2.txt 1,2d0 < 1 < 2 4a3 > 5
以上结果说明
a 代表add 新加 c 代表change 改变 d 代表delete 删除 代表第二个文件
② 带【-y -w】参数比较两个文件
[root@xiezhr test]# diff -y test1.txt test2.txt 1 < 2 < 3 3 4 4 > 5
③ 使用【-c】比较两个文件 (个人推荐使用这个,结果显示直观,一看就懂)
[root@xiezhr test]# diff -c test1.txt test2.txt *** test1.txt 2022-03-26 10:04:38.400526014 +0800 --- test2.txt 2022-03-26 10:05:50.597539120 +0800 *************** *** 1,4 **** - 1 - 2 3 4 --- 1,3 ---- 3 4 + 5
结果说明:
'+' 表示test2 比test1 多的 '_' 表示test2 比test1 少的
④ 使用【-u】比较两个文件
[root@xiezhr test]# diff -u test1.txt test2.txt --- test1.txt 2022-03-26 10:04:38.400526014 +0800 +++ test2.txt 2022-03-26 10:05:50.597539120 +0800 @@ -1,4 +1,3 @@ -1 -2 3 4 +5
vimdiff 命令我们可以拆分为vim和diff 由此可知,该命令是调用vim打开文件来可视化分屏比较多个文件
vimdiff [参数选项] [文件1] [文件2] [文件3]
一般不加参数
比较多个文件
[root@xiezhr test]# vimdiff test1.txt test2.txt test3.txt
退出vimdiff 需要执行两次退出vim的操作(:q)
wc 命令可以理解为是words count 的缩写,说到缩写,我知道你想到了“厕所”,可真不是厕所的缩写。
用于统计文件的行数、单词数或字节数
wc [参数选项] [文件]
参数 | 参数说明 |
---|---|
-c | 统计字节数 |
-w | 统计单词数 |
-l | 统计行数 |
-L | 打印最长行的长度 |
-m | 统计字符数 |
① 不带参数
[root@xiezhr test]# cat xiezhr.txt 个人公众号:XiezhrSpace 个人博客:www.xiezhrspace.cn 个人微信号:xie_zhr 欢迎您的关注! [root@xiezhr test]# wc xiezhr.txt 10 4 118 xiezhr.txt
结果说明,不带参数,直接输出的结果四10行,4个单词(按照英文单词方式记的????),118个字节
② 带上参数,查看文件的字数、字节数、字符数
[root@xiezhr test]# cat xiezhr.txt 个人公众号:XiezhrSpace 个人博客:www.xiezhrspace.cn 个人微信号:xie_zhr 欢迎您的关注! [root@xiezhr test]# wc -c xiezhr.txt 118 xiezhr.txt [root@xiezhr test]# wc -l xiezhr.txt 10 xiezhr.txt [root@xiezhr test]# wc -m xiezhr.txt 70 xiezhr.txt [root@xiezhr test]# wc -w xiezhr.txt 4 xiezhr.txt [root@xiezhr test]# wc -L xiezhr.txt 28 xiezhr.txt
③ 查看登录系统的用户数
# 查看哪些用户登录系统 [root@xiezhr test]# who root pts/0 2022-03-26 10:03 (39.130.60.84) root pts/1 2022-03-26 10:36 (39.130.60.84) root pts/2 2022-03-26 10:56 (39.130.60.84) # 查看一共有多少用户登录系统 [root@xiezhr test]# who |wc -l 3
sort 中文意思就是排序,所以呢该命令用于将输入的文件内容按照指定规则排序
sort [参数选项] [文件]
参数 | 参数选项 |
---|---|
-b | 忽略每行开头存在的空格字符 |
-n | 按照数值的大小进行排序 |
-r | 倒叙排序 |
-u | 去除重复行 |
-t | 指定分隔符 |
-k | 按指定区间排序 |
默认是从首字符向后,依次按照ASCII码升序排列
①不带参数进行排序
[root@xiezhr test]# cat a.txt 192.168.205.23 192.168.205.23 192.168.205.23 192.168.205.24 192.168.205.21 192.168.205.24 [root@xiezhr test]# sort a.txt 192.168.205.21 192.168.205.23 192.168.205.23 192.168.205.23 192.168.205.24 192.168.205.24
② 使用【-n】参数,按数字从小到大排序
[root@xiezhr test]# sort -n a.txt 192.168.205.21 192.168.205.23 192.168.205.23 192.168.205.23 192.168.205.24 192.168.205.24
③ 使用【-r】参数,按降序排序
[root@xiezhr test]# sort -nr a.txt 192.168.205.24 192.168.205.24 192.168.205.23 192.168.205.23 192.168.205.23 192.168.205.21
④使用【-u】参数,去除重复
[root@xiezhr test]# sort -u a.txt 192.168.205.21 192.168.205.23 192.168.205.24
⑤使用【-t -k】按指定列排序
[root@xiezhr test]# cat a2.txt 小谢 18岁 小明 17岁 小林 25岁 晓燕 30岁 小李 17岁 [root@xiezhr test]# sort a2.txt 小明 17岁 小李 17岁 小林 25岁 小谢 18岁 晓燕 30岁 # -t 后面指定以空格为分隔符, -k 后面参数表示按第二列排序 [root@xiezhr test]# sort -t " " -k2 a2.txt 小明 17岁 小李 17岁 小谢 18岁 小林 25岁 晓燕 30岁
uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。
uniq [参数选项] [文件或标准输出]
参数 | 参数说明 |
---|---|
-c | 去除重复行,并计算每行出现的次数 |
-d | 只显示重复的行 |
-u | 只显示唯一的行 |
① 不带参数去重
[root@xiezhr test]# cat test1.txt 个人公众号:XiezhrSpace 个人公众号:XiezhrSpace 个人公众号:XiezhrSpace 个人博客:www.xiezhrspace.cn 个人博客:www.xiezhrspace.cn [root@xiezhr test]# uniq test1.txt 个人公众号:XiezhrSpace 个人博客:www.xiezhrspace.cn
②加上【-c】参数,显示相应出现的次数
[root@xiezhr test]# cat test1.txt 个人公众号:XiezhrSpace 个人公众号:XiezhrSpace 个人公众号:XiezhrSpace 个人博客:www.xiezhrspace.cn 个人博客:www.xiezhrspace.cn [root@xiezhr test]# uniq -c test1.txt 3 个人公众号:XiezhrSpace 2 个人博客:www.xiezhrspace.cn
③ 配合着sort命令一起使用
[root@xiezhr test]# cat test1.txt 个人公众号:XiezhrSpace 个人公众号:XiezhrSpace 个人博客:www.xiezhrspace.cn 个人公众号:XiezhrSpace 个人博客:www.xiezhrspace.cn 个人博客:www.xiezhrspace.cn [root@xiezhr test]# uniq test1.txt 个人公众号:XiezhrSpace 个人博客:www.xiezhrspace.cn 个人公众号:XiezhrSpace 个人博客:www.xiezhrspace.cn [root@xiezhr test]# sort -n test1.txt | uniq -c 3 个人公众号:XiezhrSpace 3 个人博客:www.xiezhrspace.cn
man 命令用于将两个文件中,指定栏位内容相同的行连接起来
join [参数选项] [文件1] [文件2]
3、参数说明
参数 | 参数选项 |
---|---|
-1 | 以第一个文件的指定字段为基础进行合并 |
-2 | 以第二个文件的指定字段为基础进行合并 |
-i | 比较字段时忽略大小写 |
-a | 除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行 |
合并文本
[root@xiezhr test]# cat a1.txt 小谢 男 小明 女 小林 男 晓燕 女 [root@xiezhr test]# cat a2.txt 小谢 18岁 小明 17岁 小林 25岁 晓燕 30岁 [root@xiezhr test]# join a1.txt a2.txt 小谢 男 18岁 小明 女 17岁 小林 男 25岁 晓燕 女 30岁
paste 命令能将文件按照行与行进行合并,中间使用tab隔开
paste [参数选项] [文件]
参数 | 参数说明 |
---|---|
-d | 指定合并的分隔符,默认是tab |
-s | 每个文件占用一行 |
①不带参数合并文件
[root@xiezhr test]# cat a1.txt 小谢 男 小明 女 小林 男 晓燕 女 [root@xiezhr test]# cat a2.txt 小谢 18岁 小明 17岁 小林 25岁 晓燕 30岁 小李 17岁 [root@xiezhr test]# paste a1.txt a2.txt 小谢 男 小谢 18岁 小明 女 小明 17岁 小林 男 小林 25岁 晓燕 女 晓燕 30岁 小李 17岁
②通过【-d】参数,指定分隔符
[root@xiezhr test]# cat a1.txt 小谢 男 小明 女 小林 男 晓燕 女 [root@xiezhr test]# cat a2.txt 小谢 18岁 小明 17岁 小林 25岁 晓燕 30岁 小李 17岁 [root@xiezhr test]# paste -d: a1.txt a2.txt 小谢 男:小谢 18岁 小明 女:小明 17岁 小林 男:小林 25岁 晓燕 女:晓燕 30岁 :小李 17岁
③使用【-s】参数,合并内容
[root@xiezhr test]# cat a1.txt 小谢 男 小明 女 小林 男 晓燕 女 [root@xiezhr test]# paste -s a1.txt 小谢 男 小明 女 小林 男 晓燕 女
split 是分割的意思,按照指定行数或者指定文件大小分割文件,将其分割成多个文件。
split [参数选项] [输入文件] [输入文件名前缀]
参数 | 参数说明 |
---|---|
-l | 指定分割后文件的最大行数 |
按行数进行分割
[root@xiezhr test]# cat a.txt 192.168.205.23 192.168.205.23 192.168.205.23 192.168.205.24 192.168.205.21 192.168.205.24 #原来的大文件"a.txt"切割成多个以"x"开头的小文件。而在这些小文件中,每个文件都只有3行内容。 [root@xiezhr test]# split -3 a.txt [root@xiezhr test]# ls a1.txt a2.txt a.txt c.txt dir dir2 dir3 dir5 dir6 dir_bak movie.tar.gz m.tx test1.txt test2.txt test3.txt test.txt tt.txt xaa xab xac xiezhr.txt
cut 意思是剪切,所以其功能就是把文件每一行剪切一段文字,并将文字输出
cut [参数选项] [文件]
参数 | 参数选项 |
---|---|
-c | 以字符为单位进行分割 |
-d | 自定义分割符,默认以tab为分割符 |
-f | 与选项-d一起使用,指定显示哪个区域 |
N | 第N个字节、字符或字段 |
N- | 从第N个字符、字节或字段开始直至行尾 |
N-M | 从第N到第M(包含M)个字节、字符或字段 |
-M | 从第1到第M(包含M)个字节、字符或字段 |
以字符为单位进行剪切
[root@xiezhr dir]# cat a.txt I am xiezhr.I love coding. [root@xiezhr dir]# cut -c 4 a.txt #输出第4个字符 m [root@xiezhr dir]# cut -c 3-4 a.txt #输出第3到第4个字符 am [root@xiezhr dir]# cut -c -4 a.txt #输出第1到第4个字符 I am [root@xiezhr dir]# cut -c 4- a.txt #输出第4个到最后个字符 m xiezhr.I love coding.
tr 命令用于替换或删除文件中的字符。
tr [参数选项] [字符1] [字符2]
参数 | 参数说明 |
---|---|
-d | 删除字符 |
-s | 保留连续字符的第一个字符,删去其他字符 |
-c | 反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换 |
①将文件中的‘is’ 替换为‘ab’ 注意:凡是文中出现的"i"都替换成“a”,"s"均被替换成“b”,而不仅仅是“is”替换为字符串“ab”
[root@xiezhr dir]# clear [root@xiezhr dir]# cat a.txt I am xiezhr. I love coding. My official account is XiezhrSpace. My blog is www.xiezhrspace.cn. My QQ is 1666397814. Welcome to follow me! We study together and make progress together. [root@xiezhr dir]# tr 'is' 'ab' < a.txt I am xaezhr. I love codang. My offacaal account ab XaezhrSpace. My blog ab www.xaezhrbpace.cn. My QQ ab 1666397814. Welcome to follow me! We btudy together and make progrebb together.
②大小写替换
[root@xiezhr dir]# tr '[a-z]' '[A-Z]' < a.txt I AM XIEZHR. I LOVE CODING. MY OFFICIAL ACCOUNT IS XIEZHRSPACE. MY BLOG IS WWW.XIEZHRSPACE.CN. MY QQ IS 1666397814. WELCOME TO FOLLOW ME! WE STUDY TOGETHER AND MAKE PROGRESS TOGETHER.
③ 将数字0-9 替换成a-j
[root@xiezhr dir]# tr '[0-9]' '[a-j]' < a.txt I am xiezhr. I love coding. My official account is XiezhrSpace. My blog is www.xiezhrspace.cn. My QQ is bgggdjhibe. Welcome to follow me! We study together and make progress together.
④删除文中的字符(注:’M‘,'y'每个字符都会被删除,而不仅仅是“My”字符被删除)
[root@xiezhr dir]# tr -d 'My' < a.txt I am xiezhr. I love coding. official account is XiezhrSpace. blog is www.xiezhrspace.cn. QQ is 1666397814. Welcome to follow me! We stud together and make progress together.
⑤ 删除文件中换行符“\n”,制表符“\t”
[root@xiezhr dir]# tr -d '\n\t' < a.txt I am xiezhr.I love coding. My official account is XiezhrSpace.My blog is www.xiezhrspace.cn.My QQ is 1666397814.Welcome to follow me!We study together and make progress together.[root@xiezhr dir]#
⑥使用【-c】参数取反
# 下面命令将不是‘0-9' 的数字替换为‘*' [root@xiezhr dir]# tr -c '0-9' '*' < a.txt *********************************************************************************************************1666397814*************************************************************************[root@xiezhr dir]#
Linux系统中可以使用多种命令来处理文件内容。cat命令将文件的全部内容输出到控制台,但它不能上下滚动浏览;more命令可以进行分页显示,但只能向下滚动,若要向上则需重新输入命令;less命令集合了cat和more的优点,不仅可以翻页,还支持前后搜索;head和tail命令可以输出文件的头几行或尾几行;grep和find是用于搜索所需信息的强大命令,在数据挖掘和日志分析的应用场景中得到广泛应用。理解和掌握这些命令的特别用途可以使我们在Linux系统中以更高效的方式操作和处理文件内容。
Atas ialah kandungan terperinci Cara menggunakan arahan yang berkaitan dengan kandungan fail Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!