
tail命令看文件结尾部分, head看开头部分, sed可以看任意位置的文件内容。如果不懂linux的shell的话, 可以找w o解决。以后要是遇到了linux方面的问题, 都可以帮忙解决哦!
@echo off
set /p n=指定行数是? &set /a n=n-1
for /f "delims=" %%i in ('more +%n% temptxt') do if not defined var set "var=%%i"
if "%var%"=="</head>" goto jx
pause&exit
:jx
echo 继续运行下一行语句&pause>nul
rem 除temptxt包含cmd不能处理的特殊字符,本代码和skip方式相比特点是不受行数限制
可以使用head -1 命令来只取grep到的数据的第一行。
例如一个文本文档atxt内容是:
北京是我们的首都
北京天安门坐落在中华人民共和国首都北京市的中心
我在北京天安门广场吃炸鸡
使用命令 cat atxt |grep 北京 | head -n 1 可以只取到第一行的数据北京。
扩展资料
Linux中head命令详解:
head命令与tail命令用法相似,head命令用于查看文档的开始指定数量的字符块,默认显示文档的前 10 行,如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。
1、grep命令用法格式
head 参数文件
2、命令选项
-c, --bytes=[-]K k,显示文档开始的前k个字节,-k,不显示文档结尾的最后 k 个字节
-n, --lines=[-]K k,显示文档开始的前k行,-k,不显示文档结尾的最后 k 行
-q, --quiet, --silent 不显示包含给定文件名的文件头
-v, --verbose 总是显示包含给定文件名的文件头
--help 显示此帮助信息并退出
--version 显示版本信息并退出
3、实例
#显示前5行
head -n 5 headtxt
#显示前5个字节
head -c 5 headtxt
在Linux系统上如何快速查看文本中指定行呢?有时文本较大比如有10w行,想要快速查看第99行该怎么做呢?
本文以文件名testtxt为例,介绍3种方式快速查看testtxt的第99行。相信你可以轻易的举一反三。
sed全名:stream editor,流编辑器,使用程序的方式来编辑文本,可以实现替换、删除、新增、选取特定行等功能,是一种很hacker的方式。sed基本上使用正则表达式匹配,对正则表达式要求较高。
想要快速入门sed参考 sed简明教程 ,想要深入学习参考 sed完整手册 。
关键Options介绍:
ps: 以上命令并不会真的修改掉testtxt的内容,如果想修改文本内容可以使用重定向,或者使用 -i 选项。
有了以上的sed基础,可以轻易得出解决方案: sed -n '99,p' testtxt 。但sed在print后并不会立即退出,还会继续搜索文件直到文件末尾,当文件较大的时候使用sed的效率会比较低。可以做如下优化: sed -n '99,p;100q' testtxt ,打印完之后在100行退出。
sed -n '1p;10p' testtxt
sed -n '1,10p' testtxt
sed -n '1,5p;9p' testtxt
awk: 文本处理工具,可以在文件中查找与模式匹配的行并在这些行上执行指定的 *** 作。awk比sed早诞生2-3年,作用与sed类似。快速入门awk可参考 awk简明教程 。
awk提供了一系列内建变量:
使用内建变量NR和FNR:
ps: awk打印完也不会立即退出,可以添加exit优化:awk ‘NR==99 {print; exit}’ testtxt
head和tail故名思意,相对简单,分别输出文件或流的开头n行或结尾n行,就不在此详细介绍了。直接给出解决方案:
tail -n+99 testtxt|head -1
很容易想到对称的组合: head -99 testtxt|tail -1 ,但是当文件不足99行时,输出的是文件最后一行的内容。
题主你好,
head默认返回头10行内容还可以使用 " -n 行数 " 或 " -行数 " 来自定义返回的行数
-----
希望可以帮到题主, 欢迎追问
以上就是关于用Shell命令 获取文件中某一行数据.比如第4行全部的内容,包括:用Shell命令 获取文件中某一行数据.比如第4行、批处理读取文本中指定行数并且保存为变量、shell grep 的结果只取第一行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)