看完这个答案后,我声明了这个值数组。

Loop through an array of strings in Bash?

declare -a consti=("Baharagora" "Barhait" "Barkagaon" "Bishunpur" "Borio" "Chaibasa" "Chakradharpur" "Dumka" "Dumri" "Gandey" "Ghatsila" "Giridih" "Gomia" "Gumla" "Hatia" "Ichagarh" "Jama" "Jarmundi" "Jugsalai" "Kharasawan" "Khunti" "Littipara" "Lohardaga" "Madhupur" "Maheshpur" "Majhgaon" "Manoharpur" "Nala" "Nirsa" "Pakur" "Potka" "Shikaripara" "Silli" "Sindri" "Sisai" "Tundi")


这是我编写的完整代码

#!/bin/bash

declare -a consti=("Baharagora" "Barhait" "Barkagaon" "Bishunpur" "Borio" "Chaibasa" "Chakradharpur" "Dumka" "Dumri" "Gandey" "Ghatsila" "Giridih" "Gomia" "Gumla" "Hatia" "Ichagarh" "Jama" "Jarmundi" "Jugsalai" "Kharasawan" "Khunti" "Littipara" "Lohardaga" "Madhupur" "Maheshpur" "Majhgaon" "Manoharpur" "Nala" "Nirsa" "Pakur" "Potka" "Shikaripara" "Silli" "Sindri" "Sisai" "Tundi")


for folder in "${consti[@]}"; do
  for file in "~/Documents/ElectoralRollPDFs/completed/"$folder/*.pdf; do
    echo "$file"
    ...
  done
done


该脚本正在读取*作为文字字符。我得到此输出,但它应该是number.pdf

~/Documents/ElectoralRollPDFs/completed/Baharagora/*.pdf
I/O Error: Couldn't open file '~/Documents/ElectoralRollPDFs/completed/Baharagora/*.pdf': No such file or directory.


在正确读取文件之前,我无法执行任何后续步骤。请帮忙。

最佳答案

您可以循环两次:

shopt -s nullglob

declare dirs=(aaa bbb ccc)

for folder in "${dirs[@]}"; do
    for file in "/some/path/$folder/"*.pdf; do
        echo "$file"
        # do stuff here ...
    done
done

关于python - 在bash中的for循环中读取字符串数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51221163/

10-12 00:33
查看更多