从perl脚本输出要由bash脚本读取的文件

从perl脚本输出要由bash脚本读取的文件,bash,perl,Bash,Perl,我有一个shell脚本,它调用perl脚本来操作一些数据。一旦Perl脚本完成了它的任务,它应该关闭并返回shell(bash)脚本的数据文件,然后在函数中使用该文件。关闭文件后如何结束perl脚本 举个简单的例子: #!/usr/bin/environment perl my $filename = shift @ARGV; open(my $fh, '+<', $filename) or die "Couldn't Open File"; sort $fh; close $fh;

我有一个shell脚本,它调用perl脚本来操作一些数据。一旦Perl脚本完成了它的任务,它应该关闭并返回shell(bash)脚本的数据文件,然后在函数中使用该文件。关闭文件后如何结束perl脚本

举个简单的例子:

#!/usr/bin/environment perl

my $filename = shift @ARGV;

open(my $fh, '+<', $filename) or die "Couldn't Open File";
sort $fh;
close $fh;
#/usr/bin/environment perl
我的$filename=shift@ARGV;
open(my$fh,++Perl中的函数对列表而不是文件句柄进行操作。您可以使用
操作符读取文件句柄。您还需要一些输出,因此结果:

print sort <$fh>;
打印排序;
但是,如果在Perl脚本中没有做更多的操作,则调用标准的
排序
/usr/bin/sort
)可能更简单、更干净、更高效。

Perl中的函数对列表而不是文件句柄进行操作。您可以使用
操作符读取文件句柄。您还需要一些输出,因此结果:

print sort <$fh>;
打印排序;
但是,如果在Perl脚本中没有做更多的操作,则调用标准的
排序
/usr/bin/sort
)可能更简单、更干净、更高效。

Perl中的函数对列表而不是文件句柄进行操作。您可以使用
操作符读取文件句柄。您还需要一些输出,因此结果:

print sort <$fh>;
打印排序;
但是,如果在Perl脚本中没有做更多的操作,则调用标准的
排序
/usr/bin/sort
)可能更简单、更干净、更高效。

Perl中的函数对列表而不是文件句柄进行操作。您可以使用
操作符读取文件句柄。您还需要一些输出,因此结果:

print sort <$fh>;
打印排序;


但是,如果在Perl脚本中没有做更多的操作,则调用标准的
排序
/usr/bin/sort
)可能更简单、更干净、更高效。

我认为您不需要在这里做任何特殊的事情。perl脚本正在关闭文件。一旦返回,shell脚本就可以处理该文件。您已经发布了一个perl脚本/程序(第一行#!/usr/bin/environment perl)。是否也要共享bash脚本?。您需要从文件句柄读取数据,对其进行排序,将其写入某个位置,然后将其关闭。但是为什么不使用
sort
命令呢?让程序写入标准输出可能是最灵活的。您可以在shell脚本中使用Unix/Linux sort命令对文件进行排序。Perl排序函数在数组/列表上工作,而不是在文件句柄上。啊,好吧,新手犯了个错误。我看到了以下内容,希望能做类似的事情。'perl-我们'打印排序'input.txt>output.txt'我认为您不需要在这里做任何特殊的事情。perl脚本正在关闭文件。一旦它返回,shell脚本就可以处理该文件。您可以发布了一个perl脚本/程序(第一行#!/usr/bin/environment perl)。是否也要共享bash脚本?。您需要从文件句柄读取数据,对其进行排序,将其写入某个位置,然后将其关闭。但是为什么不使用
sort
命令呢?让程序写入标准输出可能是最灵活的。您可以在shell脚本中使用Unix/Linux sort命令对文件进行排序。Perl排序函数在数组/列表上工作,而不是在文件句柄上。啊,好吧,新手犯了个错误。我看到了以下内容,希望能做类似的事情。'perl-我们'打印排序'input.txt>output.txt'我认为您不需要在这里做任何特殊的事情。perl脚本正在关闭文件。一旦它返回,shell脚本就可以处理该文件。您可以发布了一个perl脚本/程序(第一行#!/usr/bin/environment perl)。是否也要共享bash脚本?。您需要从文件句柄读取数据,对其进行排序,将其写入某个位置,然后将其关闭。但是为什么不使用
sort
命令呢?让程序写入标准输出可能是最灵活的。您可以在shell脚本中使用Unix/Linux sort命令对文件进行排序。Perl排序函数在数组/列表上工作,而不是在文件句柄上。啊,好吧,新手犯了个错误。我看到了以下内容,希望能做类似的事情。'perl-我们'打印排序'input.txt>output.txt'我认为您不需要在这里做任何特殊的事情。perl脚本正在关闭文件。一旦它返回,shell脚本就可以处理该文件。您可以发布了一个perl脚本/程序(第一行#!/usr/bin/environment perl)。是否也要共享bash脚本?。您需要从文件句柄读取数据,对其进行排序,将其写入某个位置,然后将其关闭。但是为什么不使用
sort
命令呢?让程序写入标准输出可能是最灵活的。您可以在shell脚本中使用Unix/Linux sort命令对文件进行排序。Perl排序函数适用于数组/列表,而不是文件句柄。啊,好吧,新手错误。我看到了以下内容,希望能做类似的事情。perl-我们“打印排序”input.txt>output.txt'Ahh这就是我要找的。错过了.Brilliant。正是我想要的。谢谢大家。啊,这就是我要找的r、 错过了。精彩。正是我想要的。谢谢大家。啊,这就是我想要的。错过了。精彩。正是我想要的。谢谢大家。啊,这就是我想要的。错过了。精彩。正是我想要的。谢谢大家。