小编PGE*_*GEL的帖子

如何按列对齐shell“for”循环中生成的输出

我正在尝试对齐 bashfor循环的输出。

目前,我从循环中得到如下输出:

Directory:  /some/long/directory/path  Remote:  some-remote
Directory:  /some/dir/path  Remote:  other-remote
Run Code Online (Sandbox Code Playgroud)

我试图这样对齐:

Directory:  /some/long/directory/path  Remote:  some-remote
Directory:  /some/dir/path             Remote:  other-remote
Run Code Online (Sandbox Code Playgroud)

生成此输出的当前基本循环如下所示:

Directory:  /some/long/directory/path  Remote:  some-remote
Directory:  /some/dir/path  Remote:  other-remote
Run Code Online (Sandbox Code Playgroud)

我试过使用:

  • column (分别格式化每一行,因为它是一个 for 循环)
  • printf ( printf "Directory: %s Remote: %s\n" "$dir" "$remote")
  • awk( echo "Directory: $dir Remote: $remote" | awk '{printf ("%s-20s %s-20s %s-20s %s-20s",$1 $2 $3 $4)}')

在这些命令的许多其他变体中。

我可能缺少一些基本的东西(我尽力在网上查看其他示例并阅读man页面),但我无法让它工作。

我真的很感激任何关于我做错了什么的指示。

bash text-processing printf

4
推荐指数
2
解决办法
177
查看次数

标签 统计

bash ×1

printf ×1

text-processing ×1