有没有一种方法可以从一个文件中提取/复制第一个X行,并使用Windows命令提示符用一个命令将它们输入到另一个文件中?
我可以使用以下命令删除前X行:
more +X [file_containing data] > [file_to_export_data_to]
如果head命令可以工作,我想我可以这样做:
head -X [file_containing data] > [file_to_export_data_to]
但不幸的是,这并不起作用。
这将是伟大的,如果Windows有一个“少”命令,但再次没有运气。
我是一个完全的新手,当涉及到这方面的东西,所以我肯定我错过了一些明显的。我不想安装任何东西或使用命令提示符以外的东西。
谢谢
9条答案
按热度按时间3pvhb19x1#
最简单的单命令解决方案是使用Powershell Get-Content。
N --行数。
从文件开头开始:
字符串
从文件结尾开始:
型
inb24sb22#
您可以从PowerShell. exe控制台使用PowerShell:
字符串
您可以创建一个DOSKEY宏,使其更容易从命令行使用:
型
使用方法:
型
但是不能在批处理脚本中使用DOSKEY宏。
您可以创建一个head.bat脚本,并将其放置在PATH中包含的文件夹中:
**头. bat **
型
在命令行中,可以使用
head input.txt 10 >output.txt
在批处理脚本中,可以使用
call head input.txt 10 >output.txt
我选择不将输出文件作为参数,以防您只想将结果显示在屏幕上,而不是写入文件。
rkue9o1l3#
为了获得正确的utf8输出,请在powershell中执行以下操作
字符串
这将获得前10000行input.txt(utf8格式的文件),以正确的编码输出。
brgchamk4#
字符串
将提取
standardwaffle.txt
到u:\junk.txt
的前7行,因此在这里它是在一个cmd
行中-但我不相信你能可靠地输入。它还将删除源代码行上的任何前导
:
。型
此批处理保存为
head.bat
,放置在路径上的任何位置,允许您使用型
提取
standardwaffle.txt
到junk.txt
的前n
行-
是可选n1bvdmb65#
字符串
这将打印第1行到第5行。若要使用
型
kse8i1jr6#
你可以使用这个:
字符串
在这里,你应该用你想要的行替换X。或者将其命名为
head.bat
:型
41zrol4v7#
如果你想坚持使用简单的Windows命令,你可以使用这个,但对于大文件来说会有点慢;-)(我在下面添加了第二个解决方案,效果更好:-)这可以提取任何长度文件的最后100条记录)
字符串
q9rjltbz8#
应该可以的
字符串
vyu0f0g19#
无需读取整个文件;只需从文件开头提取所需的行(头):
字符串
从file.txt中提取前9行并写入nine.txt的单行示例
型
保留空白行、以空格开头的行、前导空格,并保留空格和空白。
在Win 10 x64 CMD上测试