Используйте это:
# first create those directories
mkdir "${l1[@]}"
# set counter value to 0
c=0
# loop trough the array l1 (while the counter $c is less than the length of the array $l1)
while [ "$c" -lt "${#l1[@]}" ]; do
# echo the corresponding value of array l2 to the file.txt in the directory
echo "${l2[$c]}" > "${l1[$c]}/file.txt"
# increment the counter
let c=c+1
done
Результат:
$ cat su1/file.txt
1,2,3
$ cat su2/file.txt
4,3,2
$ cat su3/file.txt
4,7,6
$ cat su4/file.txt
3,2,1
Просто сделай
$ cd A/B
$ cp test.txt../C/newtest.txt
Используйте
$ cp -i test.txt../C/newtest.txt
, чтобы проверить, существует ли уже ../C/newtest.txt
(, т. е.A/C/newtest.txt
)и запросить подтверждение. (Я почти никогда преднамеренно не перезаписываю файлы, поэтому я использую псевдоним cp
для cp -i
, чтобы получить эту защиту каждый раз, когда я делаю cp
. Но также разумно просто быть осторожным, чтобы не затереть файлы вы не хотите колотить и не полагаться на псевдонимы, чтобы спасти вас.)
У вас есть
.
`-- A
|-- B
| |-- newtest.txt
| `-- test.txt
`-- C
`-- test.txt
А ты хочешь
.
`-- A
|-- B
| |-- newtest.txt
| `-- test.txt
`-- C
|-- newtest.txt
`-- test.txt
Где A/C/newtest.txt
— копия A/B/test.txt
.
Команда
cp A/B/test.txt A/C/newtest.txt
сделал бы это.