shell 读取文件指定单行 多行 连续行 倒数几行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 读取文件指定单行 多行 连续行 倒数几行相关的知识,希望对你有一定的参考价值。
参考技术A三种方法
1、tail -n +/-数字 文件名
2、head -n 数字 文件名
3、sed -n "开始行,结束行p" 文件名
下面分别介绍这几种方法
cd 到要文件所在目录。cd到要查看指定行数内容的文件所在目录,本文以SpecialVariable.sh文件为例 , cd /home/test/shell/ , 如下图
tail -n +/-数字 文件名
tail -n -数字 文件名,表示查看文件的最后几行,比如查看SpecialVariable.sh的最后5行,
如下图
tail -n +数字 文件名
tail -n +数字 文件名,表示查看文件的某一行到最后一行,比如查看SpecialVariable.sh的第3行到最后一行 ,
如下图
head -n 数字 文件名,表示查看文件前几行的内容,比如查看SpecialVariable.sh的前3行内容,
如下图
读取文件列表倒数2行
sed -n "开始行,结束行p" 文件名,表示查看文件的开始行到结束行的内容,
如下图
接分号,表示打印特定行,如下命令只会打印出第一行与第十行
接逗号,表达连续的行娄,如下命令打印出第一行到第十行
如下命令打印1~5行与第9行.
Python 读取指定行数
b=1
c=2
F = ('n'.join(open('C:\\Users\\Administrator\\Desktop\\ID.txt','r').readlines()[str(b):str(c)]))
运行结果报错
NameError: name 'b' is not defined
怎样才能将变量代入,不会出错
运行结果报这个:TypeError: slice indices must be integers or None or have an __index__ method
请问encoding='gbk'这个是什么意思?
追答使用gbk编码打开你的txt文件,如果你的txt文件编码是utf-8的,那么这里就需要修改为utf-8
追问F = ('n'.join(open('C:\\Users\\Administrator\\Desktop\\ID.txt','r', encoding='utf-8').readlines()[b:c]))
TypeError: 'encoding' is an invalid keyword argument for this function
还是报错了
直接写b和c 也报错了
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe0 in position 0: unexpected end of data
试试open('C:\\Users\\Administrator\\Desktop\\ID.txt','r').readlines().decode('gbk')
追问我的变量怎么带进去?
追答open('C:\\Users\\Administrator\\Desktop\\ID.txt','r').readlines().decode('gbk')[b:c]
追问额 还是有错AttributeError: 'list' object has no attribute 'decode'有没有联系方式私信一下吧
以上是关于shell 读取文件指定单行 多行 连续行 倒数几行的主要内容,如果未能解决你的问题,请参考以下文章