catfiles

来自「CLAWPACK is a software package designed 」· 代码 · 共 55 行

TXT
55
字号
#!/usr/bin/perl# This script concatenates files created by output from Clawpack MPI version.# First check for flags -v, --verbose, -h, --helpforeach $i (0..$#ARGV) {    $verbose = $verbose || index($ARGV[$i],'-v') >= 0;    $help =    $help    || index($ARGV[$i],'-h') >= 0;}if ($help) {   print "This script concatenates files created ";   print "by output from Clawpack MPI version\n\n";   print "Flags : \n";   print "  -v, --verbose  Prints out list of files to be concatenated.\n";   exit 0;}# Open current directory.opendir(curr_dir,".");# Get array of files names that look like fort.q????.??@fortfiles = grep(/fort.q\d{4}.\d{2}/,readdir(curr_dir));# Get subset of array above that looks like fort.q????.00# We will extract the unique file names from this list.@basefiles = grep(/fort.q\d{4}.00/,@fortfiles);closedir(curr_dir);# Iterate over each of the base files.foreach (@basefiles) {    # Get unique file name of the form fort.q????    $bfile = substr($_,0,10);    # Create list of files with unique name, followed by .?? to concatenate.    @list = grep(index($_,$bfile) >= 0,@fortfiles);    if (@list > 0) {       # Print out what we are doing, if user passed in -v or --verbose flags.       if ($verbose) {          print "Concatenating and removing files \n";          grep(print($_."\n"),@list);          print "and creating file $bfile\n\n";       }      # Concatenate and remove the files.      $catstr = "cat @list > $bfile";      !system($catstr) || die "Problem with command\n\n$catstr\n\n ";      $rmstr = "rm @list";      !system($rmstr) || die "Problem with command\n\n$rmstr\n\n ";   }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?