在BASH中的两个文本文件之间进行管道

时间:2016-05-20 22:17:29

标签: bash unix

我是这一切的新手(一天的老bash编码器)所以这个问题可能听起来很愚蠢,请花时间并做出相应的回应:)

我在BASH中创建了一个脚本,它应该对给定的输入做一些事情(这是一个文本文件)。
我正在努力弄清楚如何使用管道来运行脚本(在文本文件(名为test.txt)上,为了问题而称为cleanLines,以便它“清理他的线”。
我将以下代码行添加到我的脚本文件(cleanLines)的顶部:

PATH=${PATH[*]}:.

现在是什么?

./test.txt | ./cleanLines.txt

似乎不起作用。

我应该注意,如果这些文件对您有用,那么这些文件就在同一个目录中。

编辑:哦,cleanLines也是一个文本文件(.txt)。 它给了我错误:

-bash: ./cleanLines.txt: Permission denied

1 个答案:

答案 0 :(得分:1)

管道|重定向命令的输出,但test.txt不是命令。您可以阅读有关重定向herehere的详情。要重定向文件中的输入,请执行以下操作:

cleanLines < test.txt

这假定您的脚本是可执行的并且期望从标准输入中输入。