如何创建文件或文件夹并同时将其写入.sh 文件

如何创建文件或文件夹并同时将其写入.sh 文件

如何创建文件或文件夹并同时将其写入.sh文件?

例如:文件的字数统计,将该信息写入新文件并同时将其保存在.sh 文件中。

我试过:

echo 'wc filename.txt > ./folder/newfilename.txt' >>ToThefilename.sh

它会给我文件夹中文件名的字数,但在 sh 文件中,它会给我引号中的内容。

答案1

Echo 将逐字逐句地打印你用引号给出的内容。因此

echo 'wc filename.txt > ./folder/newfilename.txt' >>ToThefilename.sh

应将此文本附加到ToThefilename.sh

wc 文件名.txt > ./文件夹/新文件名.txt

如果您想将输出写入wc filaname.txt“ToThefilename.sh”,您只需执行wc filename.txt >>ToThefilename.sh因此如果我这样做wc examples.desktop > foo.txt则将foo.txt包含该命令的结果:

amanda@mona:~$ cat foo.txt 
 240  569 8980 examples.desktop

如果你只是想记录你做过的事情或者filename.txt你可以做的事情history | grep filename.txt > ToThefilename.sh

如果这不是您想要实现的目标,请澄清您的问题!要执行更复杂的事情,您可能需要编写一个 shell 脚本来接收输入并对其进行一些不同的操作。

答案2

您可以使用tee流程替换来实现这一点:

echo 'wc filename.txt' | tee >(bash > ./folder/newfilename.txt) >> ToThefilename.sh

进程替换就像 tee 命令的文件一样。tee 将把 echo 命令的输出通过管道传输到文件和 stdout(重定向将其附加到脚本中)。bash 将在其 stdin 上读取该命令

相关内容