Wenn Ihre Datei mehrere Blöcke des obigen Textes, zum Beispiel, wenn Sie Ihre Datei enthält:
| asn-query:
| BGP: 8.8.8.0/24 | Country: US
| Origin AS: 15169 - GOOGLE - Google Inc., US
| Peer AS: 1103 1239 2381 3257 6453
| asn-query:
| BGP: 2.2.2.0/24 | Country: XX
| Origin AS: 11111 - XXXXX - YYYYY Inc., US
| Peer AS: 1212 1313 1414 1515 1616
Sie die paste
verwenden könnten Dienstprogramm, um alle 4 Zeilen zu einer Zeile zu verbinden, z
paste - - - - < the_above_file.txt
werden zwei Linien produzieren:
| asn-query: | BGP: 8.8.8.0/24 | Country: US | Origin AS: 15169 - GOOGLE - Google Inc., US | Peer AS: 1103 1239 2381 3257 6453
| asn-query: | BGP: 2.2.2.0/24 | Country: XX | Origin AS: 11111 - XXXXX - YYYYY Inc., US | Peer AS: 1212 1313 1414 1515 1616
und könnte jede Zeile ändern, wie Sie wollen, zum Beispiel:
paste - - - - < asn.txt | sed 's/\|[[:blank:]]*//;s/://;s/[[:blank:]]*\|[[:blank:]]*/,/g'
produzieren:
asn-query,BGP: 8.8.8.0/24,Country: US,Origin AS: 15169 - GOOGLE - Google Inc., US,Peer AS: 1103 1239 2381 3257 6453
asn-query,BGP: 2.2.2.0/24,Country: XX,Origin AS: 11111 - XXXXX - YYYYY Inc., US,Peer AS: 1212 1313 1414 1515 1616
Verwendung derselben Perl (und erklärt)
paste - - - - < asn | perl -plE 's/\|\s*//; s/://; s/\s*\|\s*/,/g'
^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^
^ ^ ^
replace the 1st |+spaces with nothing--+ | |
| |
replace the 1st : with nothing ------------------+ |
|
replace all spaces + | + spaces with , -------------------+
Gibt es Rohrsymbole am Anfang jeder Zeile? – anubhava
Ja, es ist sicherlich möglich ... es sieht so aus, als ob du nur versuchst, die Arbeit an jemand anderen auszulagern. – wojtow
Die 3 Stunden, die ich in den Versuch investiert habe, um dies zu arbeiten, hat nicht das Gefühl, die Arbeit an jemand anderen auszulagern, ich habe gerade gelernt, aufzuhören und um Hilfe zu bitten. – user2512450