for-loop for every folder in a directory, excluding some of them

后端 未结 5 1585
野趣味
野趣味 2020-12-06 06:46

Thank you very much in advance for helping!

I have this code in bash:

for d in this_folder/*    
    do    
        plugin=$(basename $d)
        ech         


        
5条回答
  •  天涯浪人
    2020-12-06 07:03

    While How to exclude some files from the loop in shell script was marked as a dupe of this Q/A and closed, that Q specifically asked about excluding files in a BASH script, which is exactly what I needed (in a script to check the validity of link fragments (the part after #) in local URLs. Here is my solution.

        for FILE in *
        do
            ## https://linuxize.com/post/how-to-check-if-string-contains-substring-in-bash/
            if [[ "$FILE" == *"cnp_"* ]]
            then
                echo 'cnp_* file found; skipping'
                continue
            fi
            ## rest of script
        done
    

    Output:

        cnp_* file found; skipping
    
        ----------------------------------------
        FILE: 1 | NAME: linkchecker-test_file1.html
        PATH: /mnt/Vancouver/domains/buriedtruth.com/linkchecker-tests/linkchecker-test_file1.html
    
         RAW LINE: #bookmark1
        FULL PATH: /mnt/Vancouver/domains/buriedtruth.com/linkchecker-tests/linkchecker-test_file1.html#bookmark1
             LINK: /mnt/Vancouver/domains/buriedtruth.com/linkchecker-tests/linkchecker-test_file1.html
         FRAGMENT: bookmark1
           STATUS: OK
        ...
    

    My test directory contained 3 files, with one that I wanted to exclude (web scrape of an old website: an index with with tons of deprecated link fragments).

    [victoria@victoria link_fragment_tester]$ tree
    .
    ├── cnp_members-index.html
    ├── linkchecker-test_file1.html -> /mnt/Vancouver/domains/buriedtruth.com/linkchecker-tests/linkchecker-test_file1.html
    └── linkchecker-test_file2.html -> /mnt/Vancouver/domains/buriedtruth.com/linkchecker-tests/linkchecker-test_file2.html
    
    0 directories, 3 files
    [victoria@victoria link_fragment_tester]$ 
    

提交回复
热议问题