2つの一時ファイルを作成できません!なぜできないの?助けてください! !入力ファイルには2つのファイル名列があります。
ただし、「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
このコードはコピーに失敗し、2つの一時データファイルが生成されました!それでも「cp タスクラインに関するエラーメッセージ」があります。
これら2つのファイルを正しく作成するのに役立ちます。ありがとうございます。
答え1
以下を使用してループを再現しました。
while IFS=" " read -r line1 line2; do echo "cp $line1 $line2"; done <in
これは単純な "in"ファイルを使用して次のものを生成します。
cp 111 aaaa
cp 222 bbb
cp 3333 ccccc
しかし、3行目に以下が含まれていると言うとサム名前(つまり、スペースのある名前)を取得すると、
cp 33 33 ccccc
突然、cp
「複数のファイルを1つのディレクトリにコピー」モードに「切り替え」ますが、ターゲット「ccccc」(または「Data1.dat」)がディレクトリではないため失敗します。
cp: 'Data2.dat'の後にターゲットファイルオペランドがありません。
これは後で発生しますcp onefile
。何かあなたの主張を混乱させています。いくつかのテストをしなければなりません...
入力ファイルには2つのファイル名列があります。
確かですか?