printf + печать строк (из скрипта ksh) с одинаковым пробелом между словом в строке - PullRequest
1 голос
/ 08 июля 2010

У меня есть пример следующих строк из команды печати (из сценария ksh)

 first_name=raimondelita  last_name=plotanmkitus  Number_id=3574553442
 first_name=timratcel  last_name=plotiniues  Number_id=43
 first_name=tom  last_name=kot  Number_id=564

как напечатать строки (вверх), как это (вниз) с printf

first_name=raimondelita  last_name=plotanmkitus  Number_id=3574553442
first_name=timratcel     last_name=plotiniues    Number_id=43
first_name=tom           last_name=kot           Number_id=564

THX за помощь Яэль

Ответы [ 2 ]

0 голосов
/ 11 июля 2010

Поскольку вы не показываете свой код, трудно догадаться, в какой форме у вас есть ваши данные и как вы их обрабатываете. Однако ответ jdehaan будет работать для ksh с небольшими изменениями. Вам нужно будет изменить его в соответствии с вашими потребностями.

printf "first_name=%-15s last_name=%-15s Number_id=%10s\n" $first_name $last_name $Number_id
0 голосов
/ 08 июля 2010

используйте следующий код для выравнивания до 20 символов:

printf("%20s", str);

В вашем случае это, вероятно, будет больше похоже на

printf("first_name=%15s last_name=%15s Number_id=%10s\n",
        first_name, last_name, Number_id);
...