具体地说,我想从文件夹中给定类型的所有文件中创建一个文件
在Unix中:
cat *fna >all_fna_files.fna
(将所有“ .fna”文本文件连接为一个大文本文件)
#1 楼
type
可在
command.com
,cmd
和PowerShell中运行(尽管在后者中,它是Get-Content
的别名,因此cat
也是别名,因此您可以使用其中任何一个)。 br /> 在计算中,type是各种VMS中的命令。 AmigaDOS,CP / M,DOS,OS / 2和Microsoft Windows命令行解释器(shell),例如COMMAND.COM,cmd.exe,4DOS / 4NT和Windows PowerShell。用于显示指定文件的内容。它类似于Unix cat命令。
C:\>echo hi > a.txt
C:\>echo bye > b.txt
C:\>type a.txt b.txt > c.txt
C:\>type c.txt
hi
bye
评论
内容丰富的答案,所以+1。希望我可以给Microsoft一个-1的名称,但该名称却模棱两可。类型文件名让我认为该命令应返回文件类型,而不是文件内容!
– PenguinCoder
2012年6月10日下午16:33
猫似乎并没有好多少。
–David Boike
2012年6月10日下午16:51
@DavidBoike尽管cat来自con_cat_enate AFAIR。
–马克·赫德
2012年6月10日17:55
@davidboike更好,因为它实际上意味着并代表其作用:cat程序是一个标准的Unix实用程序,用于连接和列出文件。该名称是catenate的缩写,是catenate的同义词。维基百科文章MS-DOS类型命令可以说相同吗?
– PenguinCoder
2012年6月10日18:21
@PenguinCoder除类型不连接文件;只需将其内容输入屏幕即可。在示例中,实际上是合并文件而不是type命令的管道。
–安迪
2012年6月10日19:50
#2 楼
在命令外壳中:copy a.txt + b.txt + c.txt output.txt
(但这是在命令外壳中使用control-Z作为文件标记的结尾,因此在某些情况下不适用)。 br />
在PowerShell中:
get-content a.txt,b.txt,c.txt | out-file output.txt
,您可以控制(使用
-Encoding
参数)文件编码(这允许对读取的文件使用不同的编码进行转码)并写)。评论
PowerShell别名也属于Get-Content。它旨在接受许多基本的Linux命令,而无需进行任何修改(如果有的话)。
–鲍勃
2012年6月10日上午9:12
Bob,除非涉及开关和选项。
–乔伊
2012年6月10日16:25
@Richard:复制/ b a + b + c output.txt不会在Ctrl-Z上进行检查。如果文件中没有ctrl-Z,则两个变体都将复制整个文件。
–Tonny
2012年6月10日18:28
请注意,您也可以包含通配符,Windows中通配符的工作方式意味着您不会被不包含+的扩展列表所困扰,因此请复制[/ b] * .fna all_fna_files.fna。
–Random832
2012年6月10日22:24
如果我从以前的测试中回想起,曾经使用COPY和/ B进行串联,将忽略CTRL-Z / EOF标记,并且可以正确进行串联!但从副本/来判断?您可能需要做很多/ B,好像在复制之后,在每个src文件之后,在dest文件之后。
– barlop
2012年6月14日下午6:38
#3 楼
我刚刚以以下方式在DOS(Windows 7 Pro)中使用了cat命令,并将3个文件(log1.txt,log2.txt,log3.txt)成功合并到一个文件中:cat log*.txt >> myBigLogFile.txt
注意:
cat log*.txt > myBigLogFile2.txt
也提供相同的结果,但是它将覆盖先前的文件。评论
也许您的Windows操作系统是GNU,或者您的路径中有Cygwin,或者正在使用Powershell,因为干净的Windows 7系统上不存在cat。 DOS不再是一回事,但是大多数人会用它来引用cmd.exe。
–Shanteva
16年5月9日在14:22
Windows CMD和MS-DOS是不同的东西。在cmd和DOS中都没有cat命令,在powershell中只有cat别名
–phuclv
17年6月16日在1:15
您还可以使用键入命令键入* .txt> file.merge
– Riz
17-10-27在15:00
评论
这些建议均不能接受STDIN的重定向。Powershell:cat file.txt
交叉复制:stackoverflow.com/q/60244/11683
提供的答案是在不同shell中可用的所有命令。是否有一个可执行程序将其参数发送到stdout?