【问题标题】:Sed error "sed: no input files"Sed 错误“sed:没有输入文件”
【发布时间】:2015-06-18 10:29:38
【问题描述】:

我有一个脚本可以清理作为参数提供的文件中的模式。

需要清理的“file1”和脚本位于同一个地方。当我传递“file1”作为 argumenit 时,回显很好,但在 sed 命令的执行时间它给出了以下错误:

-sh-3.2$ ./temp.pl file1.txt

File provided as the argument : file1.txt
sed: no input files

我的脚本是:

my $logfile = $ARGV[0];
print "File provided as the argument : $logfile \n";
$cmd = q(sed -i '/Job will shutdown./d' $logfile);
$n = system($cmd);

【问题讨论】:

  • 通过接受有用的答案来表明您的问题已得到解决。

标签: perl sed command-line-arguments


【解决方案1】:

更改您的报价系统:

$cmd = "sed -i '/Job will shutdown./d' $logfile";

或者:

$cmd = qq(sed -i '/Job will shutdown./d' $logfile);

查看http://www.perlmonks.org/?node=quotes+in+Perl

PD:这个任务可以在 perl 本地完成。

【讨论】:

  • 赞成建议避免使用其他工具。事实上,这是 Perl 的强项之一。
猜你喜欢
  • 2021-04-29
  • 2020-05-06
  • 2016-06-10
  • 2016-07-13
  • 1970-01-01
  • 1970-01-01
  • 2014-10-18
  • 2021-10-16
  • 2021-12-20
相关资源
最近更新 更多