【问题标题】:How do I create small files with Bash? [closed]如何使用 Bash 创建小文件? [关闭]
【发布时间】:2014-01-07 14:10:43
【问题描述】:

假设我有一个 Bash 脚本,我想用它创建一个文件。

对于另一个用例 - 假设我只需要一个包含快速创建的一些内容的文件,并且我不想离开命令行。也许它只是几行,或者我正在粘贴一些示例代码进行演示。

我的问题是:

如何在 Bash 的命令行中创建包含内容的新文件?

【问题讨论】:

    标签: bash file file-io cat


    【解决方案1】:

    它类似于your 'cat' answer,但另一种方式是使用'echo'。首先键入带有一个引号 (") 的“echo”,然后按 Enter。然后,您可以键入行并按 Enter。在最后一行,键入右引号 ("),然后键入大于号 (>) 和所需的文件名。

    echo "
    > from __future__ import braces
    > import antigravity" > foo.py
    

    【讨论】:

      【解决方案2】:

      使用echo 怎么样?如果我要创建/附加到一个文件中的一行,我会这样做:

      $ echo "The world is a weird, mysterious place." >> ~/diary
      

      如果多于一行,我使用cat 或我最喜欢的编辑器:

      $ cat >> ~/diary
      The world is a weird, mysterious place.
      I ran the command man ascii and was delighted.^D
      $
      

      很多时候我从网上复制脚本代码,将它粘贴到一个空的vim 缓冲区/tmp/test.sh 或类似的地方,也许用gg=G 缩进它然后处理它。

      【讨论】:

        【解决方案3】:

        如何在 Bash 中创建小文件?

        有异端的猫

        heredoc 允许您在命令行上键入正在创建的文件的内容,甚至可以使用 bash 脚本创建文件。由<< 创建的heredoc 通过管道传输到cat,然后重定向到文件demofoo

        $ cat > demofoo <<- "EOF"
        > Something
        > Something else
        > EOF
        

        &lt;&lt; 后面的-EOF 上的"optional- 允许制表符缩进并将文本设置为 0 列,使其更易于视觉解析。 " 防止参数扩展、命令替换和算术扩展,并从本质上确保文本的字面解释。

        现在:

        $ cat demofoo
        Something
        Something else
        

        当我想演示如何使用静态文本创建文件时,我发现这很有用 - 因此我发现这比写作要好:

        在 demofoo 中:

        Something
        Something else
        

        heredoc 不仅是明确的,而且是可执行代码——而且它

        从 cat 输入重定向到文件

        您可以在交互式 bash 会话中避免使用 EOF 类型的字符,但这不利于脚本,因为您需要 Ctrl-d。

        例如:

        ~$ cat > foo.py
        

        然后按回车键。该命令告诉 cat 将输出重定向到文件 foo.py,如果它已经存在,它将覆盖它。如果我想追加我的行,我可以改用&gt;&gt;

        然后我输入(在每行末尾输入)例如:

        Something
        Something else
        

        或者只是从示例代码中粘贴,当我在文件中输入完我的行后,我点击Ctrl-d

        这就是我在 bash 命令行上快速创建新文件的方法。

        【讨论】:

          【解决方案4】:

          如果我不立即打开它,我会这样做:

          touch ./filename.txt
          

          【讨论】:

          • 创建没有文本输入的文件
          猜你喜欢
          • 1970-01-01
          • 2019-03-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-06
          • 1970-01-01
          相关资源
          最近更新 更多