이 스키마의 배치를 사용하여 파일을 재정렬하고 싶습니다.
Default Web Site;anonymousAuthentication
Default Web Site;windowsAuthentication
Daisy;anonymousAuthentication
Daisy;windowsAuthentication
이 스키마에:
Default Web Site;anonymousAuthentication;windowsAuthentication
Daisy;anonymousAuthentication;windowsAuthentication
내가 어떻게 해?
답변1
귀하의 데이터는 다음과 같습니다
$ cat t13.dat
Default Web Site;anonymousAuthentication
Default Web Site;windowsAuthentication
Daisy;anonymousAuthentication
Daisy;windowsAuthentication
결과를 생성하는 방법은 다음과 같습니다.
$ perl t13.pl t13.dat
Daisy;anonymousAuthentication;windowsAuthentication
Default Web Site;anonymousAuthentication;windowsAuthentication
스크립트는 다음과 같습니다.
$ cat t13.pl
#!/usr/bin/perl
use strict;
use warnings;
my %values;
while (<>) {
chomp;
next if /^\s*$/; # ignore empty lines
my ($category, $value) = split /;/, $_, 2;
$values{$category} .= ';'.$value;
}
for my $category (sort keys %values) {
print "$category$values{$category}\n";
}
Windows를 사용하는 것 같습니다. 설치하세요.펄첫 번째.
데이터에 빈 줄이 포함되어 있지 않고 약간 더 비밀스러운 솔루션을 사용해도 괜찮다면 다음을 수행하세요.
$ perl -lanF\; -e'$v{$F[0]}.=";".$F[1]; END{print "$_$v{$_}" for keys %v}' t13.dat
Daisy;anonymousAuthentication;windowsAuthentication
Default Web Site;anonymousAuthentication;windowsAuthentication