【问题标题】:In Linux shell bash script, how to print to a file at the same line?在 Linux shell bash 脚本中,如何打印到同一行的文件?
【发布时间】:2012-01-08 23:28:19
【问题描述】:

在 Linux shell bash 脚本中,如何打印到同一行的文件?

在每次迭代中,

我用过

 echo "$variable1"  >> file_name, 

 echo "$variable2"  >> file_name, 

但是 echo 插入一个换行符使其变为

 $v1

 $v2 

不是

     $v1 \tab  $v2

"\c" 不能吃换行符。

这篇文章 BASH shell script echo to output on same line

没有帮助。

谢谢

【问题讨论】:

    标签: linux bash shell


    【解决方案1】:

    在解决了这个问题之后,我决定你要找的是echo -n

    【讨论】:

      【解决方案2】:

      如果您正在寻找变量之间的单个选项卡,那么 printf 是一个不错的选择。

      printf '%s\t%s' "$v1" "$v2" >> file_name
      

      如果您希望它与您的示例完全相同,其中选项卡在两侧都用空格填充:

      printf '%s \t %s' "$v1" "$v2" >> file_name
      

      【讨论】:

        【解决方案3】:

        那里的选项很少:

        1. echo -n foo bar 这很简单,但可能不适用于一些旧的 UNIX 系统,如 HP-UX 或 SunOS。相反,将打印“-n”以及其他参数,然后是换行符。
        2. echo -e "foo bar\c"\c 的含义是:“不再产生输出”。我个人不喜欢这个解决方案,但一些 UNIX 向导使用它。
        3. printf %b "foo bar" 我最喜欢这个解决方案。它既便携又灵活。

        【讨论】:

          【解决方案4】:

          使用echo -n 修剪换行符。看看有没有用

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-09-24
            • 1970-01-01
            • 2014-09-26
            • 1970-01-01
            • 1970-01-01
            • 2017-10-02
            相关资源
            最近更新 更多