Search code examples
loopsfileunixdirectorycsh

csh - Loop in all subdirectories and all files of a certain extension


I want to loop through all directories in a particular directory then loop through all files of *.cbl type. I get a "Badly placed ()'s"

My test code:

#!/bin/csh -f
#------------------------------------------------------------------------------#
# comp_etendu                                                                  #
#------------------------------------------------------------------------------#
 setenv src_folder  "/home/userxx/"
 setenv dest_folder "/tmp/comp_etendu"

 foreach d (`ls -d $src_folder`)
        echo $d
        for file (*.cbl)
    echo $file
end
end

Solution

  • try foreach instead of for

    #!/bin/csh -f
    #------------------------------------------------------------------------------#
    # comp_etendu                                                                  #
    #------------------------------------------------------------------------------#
     setenv src_folder  "/home/userxx/"
     setenv dest_folder "/tmp/comp_etendu"
    
     foreach d (`ls -d $src_folder`)
            echo $d
            foreach file (*.cbl)
        echo $file
    end
    end
    

    EDIT: removed username