它无法生成两个临时文件!为什么不?请帮忙!!输入文件有两列文件名。
但它无法将两个文件“fn1”、“fn2”复制到“Data1.dat”、“Data2.dat”中
这里出了什么问题?
#!/bin/bash
FF1=$1
while IFS=" " read -r line1 line2;
do
fn1=$line1
fn2=$line2
cp $fn1 Data1.dat
cp $fn2 Data2.dat
...other ext-scripts!...
done < $FF1
这段代码复制失败,从而生成了那两个临时数据文件!仍然有“cp 操作线的错误消息”
请帮忙正确制作这两个文件。谢谢。
答案1
我用以下方法重现了你的循环:
while IFS=" " read -r line1 line2; do echo "cp $line1 $line2"; done <in
这会产生(使用一个简单的“in”文件):
cp 111 aaaa
cp 222 bbb
cp 3333 ccccc
但如果说第三行包含三名称(即带有空格的名称),您会得到
cp 33 33 ccccc
现在突然cp
“切换”到“将多个文件复制到一个目录中”模式,但失败了,因为目标“ccccc”(或“Data1.dat”)不是目录。
cp:“Data2.dat”后缺少目标文件操作数
这发生在之后cp onefile
。有些东西混淆了你的论点。你必须做一些测试...
输入文件有两列文件名。
你确定吗?