2016-09-29 7 views

Antwort

2

pr ist das Werkzeug für columnizing Daten zu verwenden:

pr -s" " -T -2 filename 
+0

das ist wunderbar! Vielen Dank! –

+0

Beachten Sie, dass dies die GNU-Implementierung von 'pr' voraussetzt. – chepner

1

Mit paste und Prozess Substitution:

$ paste -d " " <(sed -n '1,/^$/{/^$/d;p}' file) <(sed -n '/^$/,${//!p}' file) 
1 a 
2 b 
3 c 
4 d 
5 e 
1

einfache Bash-Skript, das macht den Job:

nums=() 
is_line=0 
cat ${1} | while read line 
do 
    if [[ ${line} == '' ]] 
    then 
     is_line=1 
    else 
     if [[ ${is_line} == 0 ]] 
     then 
      nums=("${nums[@]}" "${line}") 
     else 
      echo ${nums[0]} ${line} 
      nums=(${nums[*]:1}) 
     fi 
    fi 
done 

Run es wie folgt aus: ./script filename

Beispiel:

$ ./script filein 
1 a 
2 b 
3 c 
4 d 
5 e 
0
$ rs 2 5 <file | rs -T 
1 a 
2 b 
3 c 
4 d 
5 e 

Wenn Sie möchten, dass zusätzliche Trennzeichen Raum ab, -g1 im letzteren rs verwenden. Erklärt:

  • Druck file in 5 Spalten und 2 Zeilen
  • -T transponieren
Verwandte Themen