drp*_*eas 1 text-processing columns
我的脚本有以下输出:
panos@panos:~/scripts> ./list_packages openSUSE-2016-254
zypper-aptitude.noarch : 1.12.23-1.1 update needed
zypper-log.noarch : 1.12.23-1.1 update needed
libsolv-debugsource : None not installed
libsolv-demo : None not installed
libsolv-demo-debuginfo : None not installed
libsolv-devel : None not installed
libsolv-devel-debuginfo : None not installed
libsolv-tools : 0.6.14-1.1 update needed
libsolv-tools-debuginfo : None not installed
perl-solv : None not installed
perl-solv-debuginfo : None not installed
python-solv : 0.6.14-1.1 update needed
python-solv-debuginfo : None not installed
ruby-solv : None not installed
ruby-solv-debuginfo : None not installed
libzypp : 15.19.5-1.1 update needed
libzypp-debuginfo : None not installed
libzypp-debugsource : None not installed
libzypp-devel : None not installed
libzypp-devel-doc : None not installed
zypper : 1.12.23-1.1 update needed
zypper-debuginfo : None not installed
zypper-debugsource : None not installed
Run Code Online (Sandbox Code Playgroud)
输出是基于一些 if-else 语句生成的。让我给你我的源代码中使用的三个 echo 命令:
echo "$pkg : $pkg_version update needed"
echo "$pkg : $new_version updated"
echo "$pkg : None not installed"
Run Code Online (Sandbox Code Playgroud)
我的问题是希望它们在列中,例如:
$pkg\t$pkg_version\t$message
Run Code Online (Sandbox Code Playgroud)
但是因为一些包名的长度超过 8 个字符,整个“tab”的东西变得难看。有什么建议?
有两种方法:
printf
函数打印和格式化您的输出(而不是echo
)column -s : -t
命令
./list_packages openSUSE-2016-254 | column -s : -t
zypper-aptitude.noarch 1.12.23-1.1 update needed
zypper-log.noarch 1.12.23-1.1 update needed
libsolv-debugsource None not installed
libsolv-demo None not installed
libsolv-demo-debuginfo None not installed
libsolv-devel None not installed
libsolv-devel-debuginfo None not installed
libsolv-tools 0.6.14-1.1 update needed
libsolv-tools-debuginfo None not installed
perl-solv None not installed
perl-solv-debuginfo None not installed
python-solv 0.6.14-1.1 update needed
python-solv-debuginfo None not installed
ruby-solv None not installed
ruby-solv-debuginfo None not installed
libzypp 15.19.5-1.1 update needed
libzypp-debuginfo None not installed
libzypp-debugsource None not installed
libzypp-devel None not installed
libzypp-devel-doc None not installed
zypper 1.12.23-1.1 update needed
zypper-debuginfo None not installed
zypper-debugsource None not installed