当前位置: 首页 > 知识库问答 >
问题:

在cat文件输出中打印单词echo

长孙嘉
2023-03-14

我试图在bash中使用cat生成一个文件,在bash中,我已经运行了一个脚本,我保存到一个变量中,然后将在cat中使用。为了运行脚本并将输出保存到变量,我使用了以下方法:

declare RESULT=$(./script.pl 5 5 5)

接下来,我将展示一个cat文件的摘录,其中使用了变量RESULT。

  cat> input.in<<EOF 
  bla bla
  echo $RESULT 
  EOF

运行bash后,我得到的是变量RESULT的正确输出。但是,文件开头有一个单词echo(如下所示)。这是有问题的,因为我试图自动化代码,添加echo这个词会破坏代码。

echo K_POINTS crystal    
     64
     0.00000000  0.00000000  0.00000000  1.562500e-02 
     0.00000000  0.00000000  0.25000000  1.562500e-02 
     0.00000000  0.00000000  0.50000000  1.562500e-02

你能告诉我是什么问题吗?非常感谢!

共有2个答案

澹台新知
2023-03-14

也许我没有正确阅读这篇文章(如果是的话,很抱歉),但是看起来你希望heredoc作为脚本运行。它不是。它只是被创建和cat'edinput.in,字符串'echo'包含在输出中。

请尝试从heredoc中删除字符串“echo”(我假设您的perl输出从令牌K_POINTS开始)。

即。:

declare RESULT=$(./script.pl 5 5 5)

cat> input.in<<EOF 
  bla bla
  $RESULT 
  EOF
顾学真
2023-03-14

这里的文档不以命令的形式运行内容,它们只是扩展值,如$RESULT

cat> input.in<<EOF 
bla bla
$RESULT 
EOF

如果你想实际得到一个命令的输出,你可以使用$(my命令myarg),但显然这对于echo是没有意义的。

 类似资料:
  • 问题 你想将 print() 函数的输出重定向到一个文件中去。 解决方案 在 print() 函数中指定 file 关键字参数,像下面这样: with open('d:/work/test.txt', 'wt') as f: print('Hello World!', file=f) 讨论 关于输出重定向到文件中就这些了。但是有一点要注意的就是文件必须是以文本模式打开。 如果文件是二进制模

  • 问题内容: 如何将Java输出同时输出到Shell控制台和某个文件中?那可能吗? 问题答案: 您可以在程序的开头包含以下几行:

  • 我有一个文件看起来是这样的: “葛底堡演说 亚伯拉罕·林肯

  • 这个问题似乎与帮助中心定义的范围内的编程无关。 如何通过读取文件来打印文本文件的每个单词的出现次数以及单词。 例如,一个名为“test.txt”的文件有一些内容假设,“狮子是森林之王。狮子跑得比老虎慢” > 首先读取文件"test.txt"。通过使用java的任何流类。 打印每个单词以及该单词的出现次数。例如,在此文件中,“Lion”是两倍,因此输出应如下所示 - 类似地,king只出现一次,所以

  • 问题内容: 如何在Java用户输入中打印出单个单词?示例:用户输入:“我们爱妈妈,她是最好的”。该程序假设打印“妈妈”,因为第一个字符和最后一个字符相同。我的代码最后没有显示任何内容。这是我的代码: 问题答案: 无需解析字符串的每个字母,您可以将输入拆分成单词数组并分别检查每个单词。 您可以保持循环,但只需要检查是否与处的循环相同 这是一个工作示例。请注意,我已经删除了扫描仪部件,以使其在我正在使

  • 5.1. 说明 本章将介绍捕捉数据的输入输出。 打开/导入多种格式的捕捉文件 保存/导出多种格式的捕捉文件 合并捕捉文件 打印包 5.2. 打开捕捉文件 Wireshark可以读取以前保存的文件。想读取这些文件,只需选择菜单或工具栏的:“File/Open”。Wireshark将会 弹出打开文件对话框。详见第 5.2.1 节 “打开捕捉文件对话框” 如果使用拖放功能会更方便 要打开文件,只需要从文