如何用Linux解决这个问题呢?

时间:2017-12-23 13:33:18

标签: linux shell printf

我需要在Shell中创建一个表。所以,我认为首先我搜索最长的字符串,之后我将格式化,每列都有这个长度。我的问题是我无法在printf中插入变量。这是我的代码:

while read line
do
    printf "%-$longestfile s" $line
done < fajlok.txt

2 个答案:

答案 0 :(得分:1)

标准shell变量处理:

printf "%-${longestfile}s" "$line"

答案 1 :(得分:0)

您可以将此表单用于printf:

*

如果宽度为字符column -t,则参数列表中必须有一个数字。

另一方面,使用for i in {1..12}; do echo $RANDOM; done | paste -d " " - - - 对于拉直色谱柱非常有用。例如,考虑

for i in {1..12}; do echo $RANDOM; done | paste -d " " - - - | column -t

column -t

apply()的另一个好处是您可能不必计算最长的列宽。