[转帖]使用Linux命令快速查看某一行
原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。
简介#
当年,我还是Linux菜鸟的时候,就在简历上写着精通Linux命令了,而当面试官问我“如何快速查看某个文件的第200行,仅这一行”时,我的心里是懵逼的。
当时面试官心里估计在窃喜,从我敷衍的回答中,他应该已经完全了解到了我的Linux水平如何[-_-]
不过,不得不说,这是一道非常好的面试题,对于一些只知道cd ls cp rm基础命令的人来说,完全回答不了,而对于真正熟悉Linux人来说,答案信手拈来,下面来看看。
1. 如果知道cat加-n可以输出行号的话:#
cat -n temp.log | grep -w '^\s*200'
是的,每行前面加个行号,然后grep过滤一下就出来了。
2. 如果稍微了解过sed命令的话:#
cat temp.log | sed -n '200p'
sed命令能直接用行号匹配,匹配到的行用p指令输出就行了。
3. 如果稍微了解过awk命令的话:#
cat temp.log | awk 'NR==200'
这个和sed命令类似,不过NR代表行号。
4. 如果你比较幸运,学过一点perl的话:#
cat temp.log|perl -lne 'print $_ if $.==200'
和awk是类似的,不过语法不同罢了。
5. 如果了解head,tail,脑袋转得再快一点的话:#
cat temp.log | head -n 200 | tail -n1
是的,先取前200行,再用tail取最后一行就可以了,这么简单咋当时想不到呢!
6. 如果知道cut,思路再转个弯的话:#
cat temp.log | cut -z -d $'\n' -f200
cat temp.log | awk -F '\n' -v RS='\0' '{print $200}'
嗯,把整个文件内容当成一条记录,把换行符当成列分隔符,取第200列就好了嘛。
7. 如果你在想xargs行不行的话:#
cat temp.log | xargs -d'\n' bash -c 'echo $200' -
和上面是类似的,不过这次使用xargs把所有行变成了bash命令的参数,然后打印第200个参数即可。
注:上面没有详细解释各个命令的用法,如果想了解这些命令,可以看看我之前写的两篇文章。
原来awk真是神器啊
Linux文本命令技巧(上)
总结#
是的,使用Linux命令,实现一个功能,可以有很多种解法,它和普通的编程思维很不一样,只要不把思考方式限定在编程实现上,渐渐地解法都会像灵感一样,从你大脑中蹦出来。
往期内容#
原来awk真是神器啊
Linux文本命令技巧(上)
Linux文本命令技巧(下)
mysql的timestamp会存在时区问题?
hex,base64,urlencode编码方案对比
字符编码解惑
作者:打码日记
出处:https://www.cnblogs.com/codelogs/p/16060367.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
[转帖]使用Linux命令快速查看某一行的更多相关文章
- 如何使用Linux 命令more 查看文本文件
Linux 下有很多实用工具可以让你在终端界面查看文本文件.其中一个就是 more. more 跟我之前另一篇文章里写到的工具 —— less 很相似.它们之间的主要不同点在于 more 只允许你向前 ...
- 转载:Linux命令之查看文件占用空间大小-du,df
转载自:<du命令>-linux命令五分钟系列之三 du(disk usage),顾名思义,查看目录/文件占用空间大小 #查看当前目录下的所有目录以及子目录的大小$ du -h $ du ...
- Linux命令文件查看过滤
Linux命令篇 1.查看一个文件的后100行的命令: tail -n 100 Linux下查看文件前几行一般用head -n xx,查看后面几行用tail -n xx.除此之外,还有: tail - ...
- 【linux】linux命令--uptime查看机器存活多久和平均负载 解读平均负载含义
一.uptime命令,查看机器存活时间和平均负载 键入命令: uptime 该结果和 top命令查看结果最上面一行的 是一样的显示. 返回数据介绍: #当前服务器时间: 19:56:44 #当前服务器 ...
- Linux 命令 - man 查看命令的文档
man 命令是 Linux 中最常用的命令,碰到任何让你疑惑的命令,都可以 man 一下来查看详情.不只是 shell 命令,C 语言库函数和系统调用等内容也可以通过 man 命令查看. man 命令 ...
- 【转帖】Linux命令行操作json神器jq
Linux命令行操作json神器jq https://www.cnblogs.com/chenqionghe/p/11736942.html jq类似一个awk或grep一样的神器,可以方便地在命令行 ...
- 如何使用Linux命令行查看Linux服务器内存使用情况?
一个服务器,最重要的资源之一就是内存,内存够不够用,是直接关系到系统性能的关键所在. 本文介绍如何查看Linux服务器内存使用情况, 1.free命令 free -m [root@localhost ...
- Linux命令(1) - 查看内存使用情况: free -hm
使用"free -hm"命令查看linux服务器的内存使用状况,其中-h表示人性化显示,-m表示将内存显示为M:
- Linux命令之查看文件夹、文件数量及其所占磁盘空间
一.查看数量 # 查看当前目录下的文件数量(不包含子目录中的文件) ls -l|grep "^-"| wc -l # 查看当前目录下的文件数量(包含子目录中的文件) 注意:R,代表 ...
- linux命令 — lsof 查看进程打开那些文件 或者 查看文件给那个进程使用
lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录 3.网络文件系统的文件,4.字符设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链 ...
随机推荐
- 华为云MetaStudio全新升级,盘古数字人大模型助力数字人自由
摘要:基于盘古大模型能力,华为云MetaStudio数字内容生产线全新升级,推出数字人模型生成服务和模型驱动服务. 近日,华为开发者大会2023 ( Cloud ) 在东莞拉开帷幕.基于盘古大模型能力 ...
- LiteOS内核源码分析:任务栈信息
摘要:LiteOS任务栈是高地址向低地址生长的递减栈,栈指针指向即将入栈的元素位置. 我们介绍下LiteOS任务栈的基础概念.LiteOS任务栈是高地址向低地址生长的递减栈,栈指针指向即将入栈的元素位 ...
- 在openGauss上做开发?这个大赛拿出30万寻找开源的你
摘要:信创"大比武"鲲鹏基础软件开发赛道,面向openGauss设置2个赛题,将推进openGauss人才建设,加快openGauss"产学研用"人才培养. 多 ...
- 云小课|ModelArts Pro 视觉套件 零代码构建视觉AI应用
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:ModelArts ...
- Apollo系列之架构设计(一)
原创文章,转载请标注.https:https://www.cnblogs.com/boycelee/p/17967590 目录 一.什么是配置中心? 二.传统配置有什么问题? 三.配置中心的场景 四. ...
- Android 编译线程爆了, gradle 内存 OOM 解决之路
本文首发我的微信公众号徐公,收录于 Github·AndroidGuide,这里有 Android 进阶成长知识体系, 希望我们能够一起学习进步,关注公众号徐公,5 年中大厂程序员,一起建立核心竞争力 ...
- 查看公网出口ip
curl cip.cc curl http://members.3322.org/dyndns/getip curl icanhazip.com curl ident.me curl ifconfig ...
- CMakeLists.txt的工程转成.sln
直接说正确的操作(结合之前的笔记) 创建 Build 目录 mkdir build && cd build 执行 cmake 命令,根据 CMakeLists.txt 生成 .sln ...
- AIsing Programming Contest 2020 游记 (ABC水题,D思维)
补题链接:Here A - Number of Multiples 水题 B - An Odd Problem 水题 C - XYZ Triplets 水题,注意数组不要开小了 D - Anythin ...
- 什么是 Serverless 架构?
随着时间的推移,Serverless 架构变得越来越火热,凭借着极致弹性.按量付费.低成本运维等特性,在很多领域发挥着越来越重要的作用:机器学习领域在近些年也非常火热,并在越来越多的行业中得到应用. ...