Próbowałem kilka godzin, aby znaleźć czystego sed rozwiązanie dla this pytanie. Oczywiście, niestety nie udało mi się. Naprawdę trudne pytanie. złożenie transpozycji kolumn z czystym sed
przykładów (od kwestii awk)
- wkład:
aaa 111 aaa 222 aaa 333 bbb 444 bbb 555 ccc 666
- Wydajność:
aaa 111,222,333 bbb 444,555 ccc 666
- wejście
APM00065101435 189 APM00065101435 190 APM00065101435 191 APM00065101435 390 190104555 00C7 190104555 00D1 190104555 00E1 190104555 0454 190104555 0462 APM00065101435 391 APM00065101435 392
- wyjście
APM00065101435 189,190,191,390 190104555 00C7,00D1,00E1,0454,0462 APM00065101435 391,392
Czego próbowałem? Niektóre z moich non przykładach:
sed -nr '1{h;b};H;x;/(\S+).*\n\1.*\'/M{x;b};s/.*\'//m;s/\n\S*\s*/,/g;s/,$//;p' file sed -nr '1{h;b};H;x;h;s/(\S+).*\n(\S+).*\'/\1\n\2/m;/(\S+)\n\1\'/M{$!b;g;bk};g;s/\n.*\'//m;:k;s/^\S+\s//2mg;s/\n/,/g;p;x;s/.*\n//;h;$l' file2 sed -nr 'H;g;s/(\S+)\s.*/\1/gm;/(\S+)\n\1\'/M{$!b;g;bk};g;1d;s/\n.*\'//m;:k;s/\n\S+\s/,/2g;s/\n//;p;g;s/\n.*(\n.*)$/\1/;h' file2
Dzięki za czytanie tego.
Ugh ... to * może * być możliwe ... ale na pewno nie będę starał się marnować czasu na zastanawianie się, czy tak jest, czy nie! Dlaczego szukasz czystego roztworu sed? Ten problem jest bardzo popularny w awk ... dlaczego uciążliwe jest dla ciebie życie? –
Rozwiązanie tego w 'awk' lub' perl' będzie bardziej czytelne, możliwe do utrzymania i sprawi, że będziesz marzyć o jednorożcach !! Po prostu zrób to dla człowieka jednorożca (lub poczekaj, aż budzi się [potong] (http://stackoverflow.com/users/967492/potong) !! –