【发布时间】:2012-04-02 15:08:35
【问题描述】:
请帮忙解决这个问题。
我有这个命令:
awk 'BEGIN {printf "%-15s", "Date of birth:" > "/dev/stderr"; getline var; print "Today finished:", var ,"days"}'
如何仅使用第一个命令“printf”打印“var”?我可以删除第二个命令“打印”吗?
感谢您的帮助。
EDIT-1:
垫子的答案
第一个例子很好,但在下一行打印'var'。是否可以在同一行打印“var”?
EDIT-2:
Peter.O的答案
感谢您的帮助。正是这一点。数据将用于进一步计算。计算结果将打印在同一行中。示例:
awk 'BEGIN {printf "%-15s", "Date of birth:" > "/dev/stderr"; getline var; print "Today finished:", var ,"days"}'`
我想要得到的结果:
Date of birth: 2011-02-23 Today finished: 2011-02-23 days
EDIT-3:
shellter的答案
感谢您的 cmets。
【问题讨论】:
-
为什么?第一个示例中的内容有效,不是吗?
-
第一个例子很好,但在下一行打印'var'。是否可以在同一行打印“var”?
-
当用户刚刚在同一行输入相同的值时,您真的希望 awk 在同一行打印 var 吗? ...为什么在提示
Enter the date:之后有这么多空格?那是您希望用户输入日期的地方吗?如果您展示一个实际示例来说明您期望成品线的外观,那将会有所帮助。因为目前它令人困惑,对我来说,您似乎希望它看起来像:Enter the date: 2012-03-17 2012-03-17... -
感谢您的帮助。正是这一点。数据将用于进一步计算。计算结果将打印在同一行中。示例:
awk 'BEGIN {printf "%-15s", "Date of birth:" > "/dev/stderr"; getline var; print "Today finished:", var ,"days"}'我想要得到的结果:Date of birth: 2011-02-23 Today finished: 2011-02-23 days -
cmets 中的内容很难阅读,您可以编辑原始问题并使用文本输入框顶部的格式化工具使您的问题更清晰。祝你好运。