我试着制作一个脚本来组织我已经拥有的一对列表,并使用其他程序进行处理,但是我现在有点卡住了。
我希望从Txt中的列表中处理每一行,首先创建一个文件夹到列表中的每一行,然后由于我有不同的脚本而进行处理。
但我的问题是,我给脚本的列表就像3-4元素工作得很好,并创建了自己的目录,但是如果我将一个包含+1000行的列表放在其中,那么我的脚本只通过脚本处理几个元素。
编辑:这个过程类似于30-35个脚本,不同语言的python,bash,python和golang。
有什么建议吗?
cat $STORES+NEW.txt | while read NEWSTORES
do
cd $STORES && mkdir $NEWSTORES && cd $NEWSTORES && mkdir .Files
python3 checkstatus.py -n $NEWSTORES
checkemployes $NEWSTORES -status
storemanagers -s $NEWSTORES -o $NEWSTORES+managers.txt
curl -s https://redacted.com/store?=$NEWSTORES | grep -vE "<|^[\*]*[\.]*$NEWSTORES" | sort -u | awk 'NF' > $NEWSTORES+site.txt
..
..
..
..
..
..
cd ../..
done发布于 2021-12-30 04:37:05
我现在还不应该给出答案,但我错误地回答了我应该回答的问题。总之,在这里我可以提出几点建议:
避免不必要地使用cat.
IFS= read -ru 3 NEWSTORES; do ...; done 3< "$STORES+NEW.txt"或{ IFS= read -ru "$FD" NEWSTORES; do ...; done; } {FD}< "$STORES+NEW.txt"。还请参见https://stackoverflow.com/a/28837793/445221.lastpipe来避免它,但大多数情况下这是不必要的。-r选项,除非您希望反斜杠转义字符.IFS=,以防止前导和尾随空格的剥离。使用readarray -t ALL_STORES_DATA < "$STORES+NEW.txt"; for NEWSTORES IN "${ALL_STORES_DATA[@]}"; do ...; done或mapfile的
当您不以全局方式使用变量时,
https://stackoverflow.com/questions/70525955
复制相似问题