如何检查ccperl中是否存在文件?

时间:2013-02-12 14:02:27

标签: perl batch-file clearcase

我需要检查ccperl中是否存在文件。

我尝试使用'if exists',但它没有用。

我知道有时我们在命令的开头和结尾使用“'”,但还有另一种方法吗?

由于

2 个答案:

答案 0 :(得分:4)

您可能想要的是-f 'myfile',如果名称对应于文件,则返回true。

a number of these tests,您可以使用-e检查名称是否存在,但它可以是文件或目录(或者可能是Unix上的链接或管道)。 / p>

答案 1 :(得分:0)

关于ccperl (or ratpl),请检查所用perl的版本(对于旧的ClearCase版本,它仍然是5.8.6)。
这可能会影响使用-f测试的某些文件,this thread illustrates from a file with a trailing space

您可以看到ClearCase ccperl script here的示例:

if ( $n_file != 0 ) {
  while ( $file_name = shift(@file_list) )
  {
    if ( ! -f $vob_path.$dir_part.'/'.$file_name ) {
      print "not found $vob_path".$dir_part.'/'."$file_name \n";
    } else {
      $size1 = &file_size($file_name);
      $size2 = &file_size($vob_path.$dir_part.'/'.$file_name);
      if ( $size1 != $size2 ) {
        print "Err file $dir_part $file_name $size1 $size2\n";
      }
    }
  }
}

(它也会测试目录,下面几行,-d选项)