让我们聚在一起
作者:David Romano
在此事件中,您需要将多个文本文件的内容合并到一个文件中。为了成功完成此事件,您需要做一些事情
1.
查找 C:\Scripts 文件夹中的所有文本文件(扩展名为 .txt 的文件)。(确保使用 C:\Scripts;如果您使用任何其他文件夹,您将不会获得此事件的积分。)
2.
创建一个名为 C:\Temp\Newfile.txt 的新文件。(同样,您的脚本创建的文件的完整路径和名称必须与此完全匹配。)
3.
将 C:\Scripts 中每个文本文件的第一行(仅第一行)复制到您的新文件中。
就是这样。当您的脚本完成后,您的 C:\Temp 文件夹中应该有一个名为 Newfile.txt 的新文件。 Newfile.txt 应包含 C:\Scripts 中每个文本文件的第一行,后跟一个回车换行符。
use v6; my $run-dir = $*PROGRAM-NAME.IO.dirname; my @files = dir($run-dir).sort; my $output = $*SPEC.catdir($run-dir, 'newfile.txt'); $output.IO.unlink if $output.IO.e; # only select .txt files required for this event for @files.grep: { .match(/test.*\.txt $$/) } { my $inputfh = open $_, :r; my $outputfh = open $output, :a; $outputfh.say( $($inputfh.get) ); # $(...) forces item context .close for $inputfh, $outputfh; }