我在一个文件中有一个学生列表,我想制作一个脚本,比如:
student.txt
Rambavbusukhde
Shobit
Maa
下面是我准备的脚本:
cat student.txt |awk '{print "create synonym classa."$1 " for classb."$1";"}'
输出:
create synonym classa.Rambavbusukhde for classb.Rambavbusukhde;
create synonym classa.Shobit for classb.Shobit;
create synonym classa.Maa for classb.Maa;
但我想为单词"for"之前的所有学生名称保留30个字符的空间,这样输出看起来像:
create synonym classa.Rambavbusukhde for classb.Rambavbusukhde;
create synonym classa.Shobit for classb.Shobit;
create synonym classa.Maa for classb.Maa;
注意:我无法显示名称和单词"for"之间的空格。所有"for"应仅在一行中查找
您可以使用awk的printf satement来提供格式化"
awk '{printf "create synonym classa.%-30s for classb.%s;n",$1,$1}' student.txt
只需将awk命令的输出传递给column -t
命令,
$ awk '{print "create synonym classa."$1 " for classb."$1";"}' file | column -t
create synonym classa.Rambavbusukhde for classb.Rambavbusukhde;
create synonym classa.Shobit for classb.Shobit;
create synonym classa.Maa for classb.Maa;