我试图创建给定ID及其各自日期的文件。我想使用数组项来设置这些文件的名称。问题是结果不是我在创建文件时所期望的。我很感激你的帮助。
期望的输出:
我想以下列格式创建文件:
FILE_300002_20170515.txt
FILE_500032_20170426.txt
FILE_400044_20170101.txt
当前输出:
FILE_300002_400044.txt
FILE_300002_300002.txt
FILE_300002_500032.txt
文件示例:
这是我输入文件的内容:
300002,20170515,500032,20170426,400044,20170101
我的代码:
IFS=',' read -r -a array <<< "$input"
ini=1
ID=0
Da=1
num="${#array[@]}"
let num=num/2
while [ $ini -le $num ];do
touch "/path/FILE_${array[Da]}_${array[ID]}.txt"
let ini=ini+1
let Da=Da+2
let ID=ID+2
done
****我注意到在文件名上只使用了'/path/FILE_${array[ID]}.txt'
,显示了所有正确的ID,但是当使用两者时,'/path/FILE_${array[Da]}_${array[ID]}.txt'
搞砸了
答案 0 :(得分:2)
可以这样做
IFS=',' read -r -a array <<< "$input"
for((i=0;i<${#array[@]}-1;i+=2));do
touch "/path/FILE_${array[i]}_${array[i+1]}.txt"
done
答案 1 :(得分:1)
awk 替代方法:
> ls -1 FILE_*
FILE_300002_20170515.txt
FILE_400044_20170101.txt
FILE_500032_20170426.txt
检查结果:
system(command)
- Close the IDE, delete the folder manually.
- Open IDE run "npm cache clean".
- Then run npm install.
- 执行操作系统命令命令