Jam*_*mes 0 bash printf newline
在我的程序中,我试图为一个文件设置列标题,我将在整个脚本中添加该文件。
我用来创建标题的行是:
printf '%-10s' "csci" "csc" "Line #" "File Name" > "$1 3.txt"
Run Code Online (Sandbox Code Playgroud)
这就像我想要的那样创建标题,但是当我添加下一行时,它会添加到该行的末尾而不是下一行。
我一直在尝试在标题创建行中添加换行符,因此添加的下一行将是空行,但我添加换行符的所有尝试都得到了奇怪的结果(或者我只是不想要的结果)。
我尝试像这样添加 \n: '%-10s\n',但这只会使我的标题显示在单独的行上(这是我所期望的,但无论如何都必须尝试这个)。
然后我尝试了:printf '%-10s' "csci" "csc" "Line #" "File Name" "\n"> "$1 3.txt",但这只按原样打印出 \n ,而没有实际给我一个换行符。
那么,如果我的问题现在还不明显,我怎样才能在那里换行呢?
在打印列后添加echoor语句,以便添加新行:printf
(printf '%-10s' "csci" "csc" "Line #" "File Name"; echo) > "$1 3.txt"
# or
(printf '%-10s' "csci" "csc" "Line #" "File Name"; printf '\n') > "$1 3.txt"
Run Code Online (Sandbox Code Playgroud)
或者定义整行并在末尾printf添加:\n
printf '%-10s %-10s %-10s %-10s\n' "csci" "csc" "Line #" "File Name" > "$1 3.txt"
Run Code Online (Sandbox Code Playgroud)
这Bash也应该有效,尽管它会在新行的末尾附加一些空格:
printf '%-10s' "csci" "csc" "Line #" "File Name" $'\n' > "$1 3.txt"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2412 次 |
| 最近记录: |