我一直在尝试调整这个问题的答案:powershell - concatenate N text files and prepend filename to each line
我想要的输出基于 2 个 .txt 文件的示例:
First.txt
行数
数据
第二.txt
更多线路
的
数据
输出.txt
前1行
第2个数据
还有第二行
第二个
第二个数据
根据最相似的问题,我可以找到以下答案:
Select-String '^' *.txt >output.txt
会给出:
C:\A\Filepath\First.txt:1:行数
C:\A\Filepath\First.txt:2:数据
C:\A\Filepath\Second.txt:1:更多行
C:\A\Filepath\Second.txt:2:of
C:\A\Filepath\Second.txt:3:data
所以我希望使用 -replace 删除文件路径,保留文件名(但删除 .txt:),保留行号(但用空格替换最后的 : )并保留行中的文本。
如果能达到所需的output.txt,我们将不胜感激。谢谢
最佳答案
不太漂亮,但这是一种方法。
Get-ChildItem *.txt |
%{$FILENAME=$_.BaseName;$COUNT=1;get-content $_ |
%{"$FILENAME"+"$COUNT"+" " + "$_";$COUNT++}}|
Out-File Output.txt
关于powershell - 合并文本文件并添加文件名和行号 - Powershell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30744371/