i have 1 column label , second column longer text inside line breaks in table.
label text: lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. @ vero eos et accusam et justo duo dolores et ea rebum. stet clita kasd gubergren, no sea takimata sanctus est lorem ipsum dolor sit amet. lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam. i tried:
paste label.txt long.txt | column -s $'\t' thank in advance!
the following bash script might you:
padded-paste.sh:
#!/bin/bash label=$1 text=$2 # number of lines in text nline=$(wc -l ${text} | cut -f 1 -d' ') # width of label padding=$(awk 'nr==1{ print length }' ${label}) # create temp directory tmpdir=$(mktemp -dt "$(basename $0).xxxxxxxxxx") templabel=${tmpdir}/label.tmp # print first line of label file temp file: awk 'nr==1{ print }' ${label} > ${templabel} # add blank padding temp label file: in $(seq 2 $nline); printf "%*s\n" $padding "" >> ${templabel} done # pasted padded lable long text paste -d' ' ${templabel} ${text} based on following inputs: label.txt:
label text: long.txt:
lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. @ vero eos et accusam et justo duo dolores et ea rebum. stet clita kasd gubergren, no sea takimata sanctus est lorem ipsum dolor sit amet. lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam. you can use like:
sh padded-paste.sh label.txt long.txt and output:
label text: lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. @ vero eos et accusam et justo duo dolores et ea rebum. stet clita kasd gubergren, no sea takimata sanctus est lorem ipsum dolor sit amet. lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam.
Comments
Post a Comment