我有很多文件的模式名称:
N.apple(d).log
例如001.apple(d).log
,002.apple(d).log
等
问题是,当我尝试对bash脚本中的文件进行处理时,总是出现错误“没有这样的文件或目录”,即使使用了逃脱的括号:
for i in $(ls my_folder); do file=$(echo $i | sed 's/(/\\(/g' | sed 's/)/\\)/g') ; head -1 my_folder/$file; done
感谢任何提示
答案 0 :(得分:1)
使用引号。另外,当外壳可以很好地扩展通配符时,请不要使用ls。
for i in my_folder/*; do head -1 "$i"; done