我需要将两个非常大的列表合并在一起。
文件1.txt
- 华盛顿|
- 俄亥俄州|
- 都柏林|
- 伦敦|
- 米兰|
文件2.txt
- 格雷格
- 汤姆
- 保罗
- 莎朗
- 账单
输出.txt
- 华盛顿|格雷格
- 俄亥俄州|汤姆
- 都柏林|保罗
- 伦敦|莎朗
- 米兰|比尔
我如何在 Windows 中做到这一点?
答案1
我找到了一个可行的解决方案。将行粘贴到 Excel 并将其导出为文本文件,而不是 XLS 文件。
答案2
如果数据量不是太大,您可以使用 MS Office 或 LibreOffice 等软件来完成此操作。加载两个文本文件,将它们剪切并粘贴到电子表格的不同列中(文件 1 的列 A,文件 2 的列 b),然后将(特殊的原始文本)剪切并粘贴回文本文档中。
它并不漂亮,但需要你进行一些手动操作才能完成。
答案3
你可以用paste
我的命令行实用程序来执行此操作汉密尔顿C壳。如果这是一次性的事情,你会对免费版本我的 C shell。坦白说:我就是作者。
paste -d \0 File1.txt File2.txt > Output.txt
您的数据如下所示:
176 C% cat File1.txt
Washington|
Ohio|
Dublin|
London|
Milan|
177 C% cat File2.txt
Greg
Tom
Paul
Sharon
Bill
178 C% paste -d \0 File1.txt File2.txt
Washington|Greg
Ohio|Tom
Dublin|Paul
London|Sharon
Milan|Bill
赛格威还包括一个,paste
但要使用它,您需要确保所有行都仅以换行符(\n
)字符结尾,Unix 样式,而不是回车符-换行符(\r\n
)组合 Windows 样式,否则您会得到以下结果:
179 C% \cygwin\bin\paste -d \0 File1.txt File2.txt
Gregington|
Tomo|
Paulin|
Sharon|
Billn|
(Cygwinpaste
将 视为\r
普通字符。在屏幕上,它将光标移动到行首,覆盖原有的内容。)
答案4
命令行,变量 1:
powershell $f1=gc File1.txt;$f2=gc File2.txt;for($i=0;$i-lt$f1.length;$i++){$f1[$i]+$f2[$i]}>Output.txt
命令行,变量 2:
powershell $f1=gc File1.txt;$f2=gc File2.txt;for($i=0;$i-lt$f1.length;++$i){$f1[$i]+$f2[$i]^>^>Output.txt}
粘贴-d.ps1
$f1=gc File1.txt;$f2=gc File2.txt;for($i=0;$i-lt$f1.length;++$i){$f1[$i]+$f2[$i]>>Output.txt}