|
- #!/bin/sh
- fname=$(mktemp foobar.XXXXX)
- cat > "$fname"
- awk '
- maxline == 1 {
- if (maxlength < length)
- maxlength = length
- }
-
- function printtop () {
- blank = sprintf("%*s", maxlength + 4, "")
- gsub(" ", "*", blank)
- printf("%s\n", blank)
- }
-
- output == 1 && FNR == 1 {
- printtop()
- printf("* %*s *\n", maxlength, "")
- }
-
- output == 1 {
- printf("* %s%*s *\n", $0, maxlength - length, "")
- }
-
- END {
- printf("* %*s *\n", maxlength, "")
- printtop()
- }
- ' maxline=1 "$fname" maxline=0 output=1 "$fname"
-
- rm "$fname"
|