每行放入一個文件中(XML 作為文件的一部分)

每行放入一個文件中(XML 作為文件的一部分)

以下是文件內容的範例:

<:abc>test file name <:/abc>   XYZ  1122

XML 內容相當繁重且龐大。

在我正在工作的目錄下,如果不存在,我想建立一個子目錄XYZ(第二列),並在此子目錄下建立檔案1122.raw(第三列)並將 XML 內容 ( <:abc>test file name <:/abc>) 新增至該檔案。

答案1

@MelBurslan 的評論是正確的,你通常不應該期望人們為你編寫腳本,因為這不是 StackExchange 的用途。但在這種情況下,我花了一些時間:這裡有一個腳本可以執行問題所要求的操作,假設 XML 不包含任何換行符,並且子目錄和檔案名稱部分不包含任何特殊字元:

#!/usr/bin/perl -n

my $nameRE = qr/[\w.]+/;

chomp;
m/^(.*)\s+($nameRE)\s+($nameRE)\s*$/ or do { warn "didn't match line $.: $_\n"; next };
my ( $xml, $dir, $line ) = ( $1, $2, $3 );

mkdir $dir;
open my $f, ">>", "$dir/$line.raw";
print $f "$xml\n";
close $f;

將其另存為process.pl並運行./process.pl inputfile.xml

相關內容