首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >printf“column”和newline

printf“column”和newline
EN

Stack Overflow用户
提问于 2012-09-07 23:58:10
回答 2查看 2.2K关注 0票数 0

在我的程序中,我尝试为一个文件设置列标题,我将在整个脚本中添加该文件。

我用来创建标题的代码行是:

代码语言:javascript
复制
printf '%-10s' "csci" "csc" "Line #" "File Name" > "$1 3.txt"

这就像我想要的那样创建了标题,但是当我添加下一行时,它会被添加到该行的末尾,而不是下一行。

我一直在尝试在标题创建行中添加一个新行,以便添加的下一行将是空行,但我所有添加新行的尝试都得到了奇怪的结果(或者我不想要的结果)。

我尝试像这样添加\n:'%-10s\n',但这只会使我的标题显示在单独的行上(这是我所期望的,但无论如何都必须尝试这样做)。

然后我尝试了:printf '%-10s' "csci" "csc" "Line #" "File Name" "\n"> "$1 3.txt",但这只打印出了\n,实际上没有给我换行符。

那么,如果我的问题现在还不明显,我怎么才能在其中换行呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-08 00:01:23

在打印列之后添加echoprintf语句,以便添加新行:

代码语言:javascript
复制
(printf '%-10s' "csci" "csc" "Line #" "File Name"; echo) > "$1 3.txt"
# or
(printf '%-10s' "csci" "csc" "Line #" "File Name"; printf '\n') > "$1 3.txt"

或者为printf定义整行,并在末尾添加\n

代码语言:javascript
复制
printf '%-10s %-10s %-10s %-10s\n' "csci" "csc" "Line #" "File Name" > "$1 3.txt"

Bash上,这也应该有效,尽管它会在新行的末尾添加一些空格:

代码语言:javascript
复制
printf '%-10s' "csci" "csc" "Line #" "File Name" $'\n' > "$1 3.txt"
票数 5
EN

Stack Overflow用户

发布于 2012-09-08 00:00:08

之后再追加它。

代码语言:javascript
复制
echo >> "$1 3.txt"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12321598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档