我需要一个cmd脚本,删除我的文本文件中的第一行。 情况如下:我每天从FTP获取一个txt文件,问题是它在顶部有空白行,然后是文件的标题。 由于我自动将该文件导入访问表,该空白行导致我的问题。
所以,我需要一个脚本,删除空白行并保存文件。
Windows /命令提示符:
more +1 filename.ext > otherfilename.ext
这似乎工作正常,但是它似乎也将制表符转换成多个空格..我需要删除导入到Postgres之前制表符分隔文件的第一行。 这失败了,由于标签自动转换为空格更多…
你没有指定一个平台。 以下是如何在任何* NIX环境(和Windows + Cygwin)中执行此操作的方法:
sed -i~ 1d target-file
在没有额外工具的窗口中:
findstr /V /R "^$" filename.whatever
没有额外的工具需要
要删除第一行,我会使用
tail -n +2 source-file > target-file
如果你想在Windows上使用,请下载gnu utils以获取尾部命令。 +2表示“从第二行开始”。
我注意到一些问题,如何使用Preet Sangha的解决方案。 由于我没有足够的代表添加评论,我想在这里发布更完整的解决方案。
您可以使用Preet Sangha的解决方案如下。 这个脚本将创建一个没有输入文件第一行的新文本文件。
findstr /V /R "^$" InputFile.txt > OutputFileNameWithFirstLineRemoved.txt
我今天需要做类似的事情,这就是我想到的:
FOR /F "tokens=* skip=1" %A IN ('type "input_file.ext"') DO @echo %A>>"output_file.ext"
这比在more +1
解决方案中的优点在于制表符将被保留。 但是,在大文件上,这种方法比其他方法慢很多。 另外 – 领先的空间将被修剪,这可能是也可能不是一个问题。