Loading... # Linux 命令查看文件任意行或任意几行 ## 一、使用cat、tail、head组合 <div class="tip inlineBlock warning"> 以查看 rsync.log 文件为例 </div> **查看最后10行的数据** ``` cat rsync.log | tail -n 10 ``` **结果** ``` # cat rsync.log | tail -n 10 2020/12/30 12:08:07 [702018] >f+++++++++ send opt/docker_seafile/seafile-data/seafile/seafile-data/storage/fs/71f6c9d2-b6c5-4e2c-970b-bcef04b9797d/5b/59062cf53e3af5ea842c2eef2334ee7c110e83 2020/12/26-23:14:16 2020/12/30 12:08:07 2020/12/30 12:08:07 [702018] >f+++++++++ send opt/docker_seafile/seafile-data/seafile/seafile-data/storage/fs/71f6c9d2-b6c5-4e2c-970b-bcef04b9797d/5b/59153b6536f186ab10308383cc8ef09043ed71 2020/12/26-07:55:37 2020/12/30 12:08:07 2020/12/30 12:08:07 [702018] >f+++++++++ send opt/docker_seafile/seafile-data/seafile/seafile-data/storage/fs/71f6c9d2-b6c5-4e2c-970b-bcef04b9797d/5b/595123ad5fa1348ab81a321fbae818c4455bfc 2020/12/26-22:46:49 2020/12/30 12:08:07 2020/12/30 12:08:08 [702018] >f+++++++++ send opt/docker_seafile/seafile-data/seafile/seafile-data/storage/fs/71f6c9d2-b6c5-4e2c-970b-bcef04b9797d/5b/5969c3dc48bd7e51c913eaa7b117502fd073fe 2020/12/26-08:24:37 2020/12/30 12:08:08 2020/12/30 12:08:08 [702018] >f+++++++++ send opt/docker_seafile/seafile-data/seafile/seafile-data/storage/fs/71f6c9d2-b6c5-4e2c-970b-bcef04b9797d/5b/598a5449f5006ce74b661eb72f5bcc28dcd776 2020/12/25-19:35:21 2020/12/30 12:08:08 2020/12/30 12:08:08 [702018] >f+++++++++ send opt/docker_seafile/seafile-data/seafile/seafile-data/storage/fs/71f6c9d2-b6c5-4e2c-970b-bcef04b9797d/5b/59927b206e7125b81a711321c1b521e298fefc 2020/12/26-12:28:01 2020/12/30 12:08:08 2020/12/30 12:08:08 [702018] >f+++++++++ send opt/docker_seafile/seafile-data/seafile/seafile-data/storage/fs/71f6c9d2-b6c5-4e2c-970b-bcef04b9797d/5b/59bab770ca1bb6fa5688aaf00eec0e578d189e 2020/12/26-18:55:32 2020/12/30 12:08:08 2020/12/30 12:08:08 [702018] >f+++++++++ send opt/docker_seafile/seafile-data/seafile/seafile-data/storage/fs/71f6c9d2-b6c5-4e2c-970b-bcef04b9797d/5b/59bf3cba0861893d6c79a7856e2db250f84417 2020/12/26-21:44:13 2020/12/30 12:08:08 2020/12/30 12:08:08 [702018] >f+++++++++ send opt/docker_seafile/seafile-data/seafile/seafile-data/storage/fs/71f6c9d2-b6c5-4e2c-970b-bcef04b9797d/5b/59c73340001e4ac3364940c50aa3edd169975d 2020/12/26-04:41:08 2020/12/30 12:08:08 2020/12/30 12:08:08 [702018] >f+++++++++ send opt/docker_seafile/seafile-data/seafile/seafile-data/storage/fs/71f6c9d2-b6c5-4e2c-970b-bcef04b9797d/5b/59dbbb09df7b32dda240d6dc7c36274dfb631d 2020/12/26-20:19:01 2020/12/30 12:08:08 ``` **查看5到10行的数据** ``` cat rsync.log | head -n +5 | tail -n -10 ``` **结果** ``` # cat rsync.log | head -n +5 | tail -n -10 2020/12/29 11:53:26 [580815] building file list 2020/12/29 11:53:26 [580815] sent 75 bytes received 24 bytes total size 15 2020/12/29 11:54:09 [581159] building file list 2020/12/29 11:54:09 [581159] .d..t...... send source/rsync_bak/. 2020/12/29-11:54:04 2020/12/29 11:54:09 2020/12/29 11:54:09 [581159] >f+++++++++ send source/rsync_bak/2.txt 2020/12/29-11:54:04 2020/12/29 11:54:09 ``` **cat文件所有内容** ``` cat rsync.log ``` **查看文件最后5行的数据** ``` tail -n 5 rsync.log ``` **结果** ``` # tail -n 5 rsync.log [12:21:04] 2020/12/30 12:23:03 [702018] >f+++++++++ send opt/docker_seafile/seafile-data/seafile/seafile-data/storage/fs/71f6c9d2-b6c5-4e2c-970b-bcef04b9797d/67/7243506a170a76fd0242c409b6f2679096bef7 2020/12/26-14:53:37 2020/12/30 12:23:03 2020/12/30 12:23:03 [702018] >f+++++++++ send opt/docker_seafile/seafile-data/seafile/seafile-data/storage/fs/71f6c9d2-b6c5-4e2c-970b-bcef04b9797d/67/7264dae3cff9ddfbc28e7f17ec7d1daa7121c8 2020/12/25-23:56:23 2020/12/30 12:23:03 2020/12/30 12:23:03 [702018] >f+++++++++ send opt/docker_seafile/seafile-data/seafile/seafile-data/storage/fs/71f6c9d2-b6c5-4e2c-970b-bcef04b9797d/67/7269de8bd2f0f1355800ace92122f07c585f01 2020/12/26-10:09:47 2020/12/30 12:23:03 2020/12/30 12:23:03 [702018] >f+++++++++ send opt/docker_seafile/seafile-data/seafile/seafile-data/storage/fs/71f6c9d2-b6c5-4e2c-970b-bcef04b9797d/67/7278a9ae56b23b261b7dc1057d56c4962e9104 2020/12/26-18:20:34 2020/12/30 12:23:03 2020/12/30 12:23:04 [702018] >f+++++++++ send opt/docker_seafile/seafile-data/seafile/seafile-data/storage/fs/71f6c9d2-b6c5-4e2c-970b-bcef04b9797d/67/727ed20a56498e918ca388bcf565223198638a 2020/12/26-03:37:10 2020/12/30 12:23:04 ``` **查看文件第10行开始以后的内容** ``` tail -n +10 ``` **查看前10行的内容** ``` head -n 10 ``` ## 二、使用sed命令 显示10到20行的数据 ``` sed -n '10,20p' rsync.log ``` **结果** ``` # sed -n '10,20p' rsync.log [12:23:05] 2020/12/29 15:02:07 [661202] cd+++++++++ send source/rsync_bak/. 2020/12/29-11:54:04 2020/12/29 15:02:07 2020/12/29 15:02:07 [661202] >f+++++++++ send source/rsync_bak/1.txt 2020/12/29-10:59:19 2020/12/29 15:02:07 2020/12/29 15:02:07 [661202] >f+++++++++ send source/rsync_bak/2.txt 2020/12/29-11:54:04 2020/12/29 15:02:07 2020/12/29 15:02:07 [661202] sent 2958 bytes received 62 bytes total size 2776 2020/12/29 15:04:54 [662356] building file list 2020/12/29 15:04:54 [662356] cd+++++++++ send source/rsync_bak/. 2020/12/29-11:54:04 2020/12/29 15:04:54 2020/12/29 15:04:54 [662356] >f+++++++++ send source/rsync_bak/1.txt 2020/12/29-10:59:19 2020/12/29 15:04:54 2020/12/29 15:04:54 [662356] >f+++++++++ send source/rsync_bak/2.txt 2020/12/29-11:54:04 2020/12/29 15:04:54 2020/12/29 15:04:54 [662356] sent 2958 bytes received 62 bytes total size 2776 2020/12/29 16:25:32 [696896] building file list 2020/12/29 16:25:32 [696896] .d..t...... send source/rsync_bak/. 2020/12/29-11:54:04 2020/12/29 16:25:32 ``` ## 三、grep命令显示 **显示文件里匹配 `received` 字串那行以及上下1行** ``` grep -C 1 received rsync.log ``` **结果** ``` # grep -C 1 received rsync.log [12:32:18] 2020/12/29 11:53:26 [580815] building file list 2020/12/29 11:53:26 [580815] sent 75 bytes received 24 bytes total size 15 2020/12/29 11:54:09 [581159] building file list -- 2020/12/29 11:54:09 [581159] >f+++++++++ send source/rsync_bak/2.txt 2020/12/29-11:54:04 2020/12/29 11:54:09 2020/12/29 11:54:09 [581159] sent 2903 bytes received 46 bytes total size 2776 2020/12/29 12:05:38 [585941] building file list 2020/12/29 12:05:38 [585941] sent 99 bytes received 27 bytes total size 2776 2020/12/29 15:02:07 [661202] building file list -- ``` **显示 `received` 及前1行** ``` grep -B 1 received rsync.log ``` **结果** ``` # grep -B 1 received rsync.log [12:33:19] 2020/12/29 11:53:26 [580815] building file list 2020/12/29 11:53:26 [580815] sent 75 bytes received 24 bytes total size 15 -- 2020/12/29 11:54:09 [581159] >f+++++++++ send source/rsync_bak/2.txt 2020/12/29-11:54:04 2020/12/29 11:54:09 2020/12/29 11:54:09 [581159] sent 2903 bytes received 46 bytes total size 2776 2020/12/29 12:05:38 [585941] building file list 2020/12/29 12:05:38 [585941] sent 99 bytes received 27 bytes total size 2776 -- ``` **显示received及后1行** ``` grep -A 1 received rsync.log ``` **结果** ``` # grep -A 1 received rsync.log [12:36:24] 2020/12/29 11:53:26 [580815] sent 75 bytes received 24 bytes total size 15 2020/12/29 11:54:09 [581159] building file list -- 2020/12/29 11:54:09 [581159] sent 2903 bytes received 46 bytes total size 2776 2020/12/29 12:05:38 [585941] building file list 2020/12/29 12:05:38 [585941] sent 99 bytes received 27 bytes total size 2776 2020/12/29 15:02:07 [661202] building file list -- ``` **grep结果太多, 只取前面10行匹配的结果** ``` grep ...... | head -10 ``` End Thanks!😁 最后修改:2020 年 12 月 30 日 12 : 40 PM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 ×Close 赞赏作者 扫一扫支付 支付宝支付 微信支付