【问题标题】:Linux: Loop using foldername when finding fileLinux:查找文件时使用文件夹名循环
【发布时间】:2017-07-11 15:31:58
【问题描述】:

我目前正在尝试使用以下 linux 脚本循环浏览文件夹并使用函数执行计算:

for f in s*
do
    echo "You are in the following folder - $s" 
    cd $s

    # FUNCTION SHOULD BE HERE

    cd /C/Users/Eric/Desktop/Files
done

问题:如何使用文件夹名称找到正确的文件?例如,文件夹名称是scan1,我想将名为gaf_scan1_recording_mic.nii 的文件用于该函数。

非常感谢,

埃里克

【问题讨论】:

    标签: linux loops directory


    【解决方案1】:

    在大多数情况下,$var${var} 是相同的(大括号仅用于表达式中的歧义):

    var=test
    echo $var
    # test
    echo ${var}
    # test
    echo $varworks
    # prints nothing (there is no variable 'varworks')
    echo ${var}works
    # testworks
    

    您可以使用这样的文件夹名称(gaf_${f}_recording_mic.nii):

    for f in *; do
        # Check if $f is a directory
        if [[ -d $f ]]; then
            echo "You are in the following folder - $f" 
            cd $f
            # The filename to use for your function
            do_stuff gaf_${f}_recording_mic.nii
        fi
    done
    

    【讨论】:

      猜你喜欢
      • 2020-07-12
      • 1970-01-01
      • 2013-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-22
      • 1970-01-01
      相关资源
      最近更新 更多