less 文件少一行, python -join -write ,shell 逐行读取

用python

file.write("\n".join(line_list))

方式将多行内容组成的列表写入文件。文件末行没有换行符,
因此vi打开文件会因为如同window系统一般的文件结尾,提示:[noeol]
且,less |wc-l 的方式数行数会比实际行数少一行。

这样的输出文件用python for line读取是没有问题的

用shell命令读取时:
  读取全部文件也是没问题。如varor=$(cat py.filelistwriteorigin)
  用while line读取每一行出现问题!!!! 由于最后一行没有换行符,而丢失最后一行内容!!!!!!!!

如:

file=$1
while read line
do
echo "File:${line}"
done <$file

 

解决方案:

  最应该方式:在每次python file.write("\n".join(line_list)) 方式将多行内容组成的列表写入文件,之后加 file.write("\n")

  紧急修复bug : vi 生成的文件,再wq即可。

原文地址:https://www.cnblogs.com/koujiaodahan/p/12401531.html

时间: 2024-11-10 01:54:04

less 文件少一行, python -join -write ,shell 逐行读取的相关文章

Linux shell逐行读取文件的方法

Linux shell逐行读取文件的方法 在Linux中有很多方法逐行读取一个文件的方法,其中最常用的就是下面的脚本里的方法,而且是效率最高,使用最多的方法.为了给大家一个直观的感受,我们将通过生成一个大的文件的方式来检验各种方法的执行效率. 方法1:while循环中执行效率最高,最常用的方法. function while_read_LINE_bottm(){ While read LINE doecho $LINEdone  < $FILENAME}         注释:我习惯把这种方式叫

linux的wc -l 命令统计文件少一行(一般是windows文件)

先简单介绍 wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出 格式:wc file 命令参数: -c 统计Bytes数(字节数),并显示文件名 -l 统计行数:使用换行符'\n'作为行结束标志,实际是统计换行符个数 -m 统计字符数.这个标志不能与 -c标志一起使用. -w 统计字数.一个字被定义为由空白.跳格或换行字符分隔的字符串. -L 打印最长行的长度. -help 显示帮助信息 --version 显示版本信息 实例: wc test.tx

shell逐行读取文件

这是shell逐行执行文件: #!/bin/sh filepath="/home/test/test.txt"while read LINEdo     user=`echo $LINE | awk '{print $1}'`     pwd=`echo $LINE | awk '{print $2}'`done <$filepath

Shell 逐行读取单个文件或者多个文件内容

[[email protected] ~]# less 1.txt asdcsadca asdc方式1:while循环逐行读取文件内容#!/bin/bashcat ./1.txt | while read line; doecho $linedone方式2:while循环逐行读取文件内容#!/bin/bashwhile read LINE; doecho $linedone < ./1.txt执行结果:[[email protected] ~]# sh 1.shasdcsadca asdc 方式

linux shell 逐行读取文件行

读取文件行 for 命令替换 代码块重定向 while 管道符 代码块重定向 for IFS=$'\n' for line in `ls -l` do (( count++ )) done echo $count 注意: for读取时,自动按空格作为间隔符.因此需要将IFS定义为按换行符分隔 ls -l > forout.log maxlength=$(wc -l < forout.log) for i in `seq $maxlength` do (( count++ )) done <

Shell逐行读取文件的3种方法

方法1:while循环中执行效率最高,最常用的方法. while read linedoecho $linedone  < filename 注释:这种方式在结束的时候需要执行文件,就好像是执行完的时候再把文件读进去一样. 方法2 : 管道法: cat $FILENAME | while read LINE cat filename | while read linedoecho $linedone 注释:当遇见管道的时候管道左边的命令的输出会作为管道右边命令的输入然后被输入出来. 方法3  

举例讲解Linux系统下Python调用系统Shell的方法

有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的.那么我们使用Python如何调用Linux的Shell命令?下面来介绍几种常用的方法:1. os 模块 1.1. os模块的exec方法族Python的exec系统方法同Unix的exec系统调用是一致的.这些方法适用于在子进程中调用外部程序的情况,因为外部程序会替换当前进程的代码,不会返回.( 这个看了点 help(os)  --> search "exec" 的相关介绍,但是没太搞

Spark的Python和Scala shell介绍(翻译自Learning.Spark.Lightning-Fast.Big.Data.Analysis)

Spark提供了交互式shell,交互式shell让我们能够点对点(原文:ad hoc)数据分析.如果你已经使用过R,Python,或者Scala中的shell,或者操作系统shell(例如bash),又或者Windows的命令提示符界面,你将会对Spark的shell感到熟悉. 但实际上Spark shell与其它大部分shell都不一样,其它大部分shell让你通过单个机器上的磁盘或者内存操作数据,Spark shell让你可以操作分布在很多机器上的磁盘或者内存里的数据,而Spark负责在集

一行python代码

Life is short, just use Python. 自从08年接触Python,就有爱不释手的感觉,逐渐地,有些不忍地疏远了Perl 和Shell编程,因为python 的优雅么? 不全是,主要是可以高效开发吧. 那一行代码可以干什么呢? 有趣 我孩子的英文名叫andy,也许当初教他写程序的时候,如果先秀一下这行代码,可能就更能激起他对代码的兴趣了. >>> print'\n'.join([''.join([('AndyLove'[(x-y)%8]if((x*0.05)**2