linux将变量保存生成txt,linux-将输出命令保存在变量中并写入for循环
我想寫一個shell腳本.我使用以下命令行在嵌套子目錄中列出我的jpg文件:
find . -type f -name "*.jpg"
如何將該命令的輸出保存在變量中,并為此編寫一個for循環? (我想為每個jpg文件做一些處理步驟)
解決方法:
比存儲在變量中更好,請使用以下命令:
find . -type f -name "*.jpg" -exec command {} \;
即使,如果需要,命令也可以是完整的shell腳本.
演示比解釋更好,不是嗎?復制將整行粘貼到終端中:
cat</tmp/test
#!/bin/bash
echo "I play with $1 and I can replay with $1, even 3 times: $1"
EOF
chmod +x /tmp/test
find . -type f -name "*.jpg" -exec /tmp/test {} \;
編輯:新演示(來自評論的新問題)
find . -type f -name "*.jpg" | head -n 10 | xargs -n1 command
(這是另一種解決方案,不會處理帶有換行符或空格的文件名)
這一個要注意:
#!/bin/bash
shopt -s globstar
count=0
for file in **/*.jpg; do
if ((++count < 10)); then
echo "process file $file number $count"
else
break
fi
done
標簽:bash,shell,linux
來源: https://codeday.me/bug/20191025/1927806.html
總結
以上是生活随笔為你收集整理的linux将变量保存生成txt,linux-将输出命令保存在变量中并写入for循环的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: puppy linux不识别鼠标,不止于
- 下一篇: linux音频框架分析,Alsa音频子系