Задать вопрос
@oleww05

Как выполнить подстановку в bash?

Есть два текстовых файла в которых указан пусть.
Содержимое первого
/test1/file 1.txt
/test1/file 2.txt
/test1/file 3.txt
Содержимое второго
/test2/papka 1
/test2/papka 2
/test2/papka 3

Использую такой скрипт
#!/bin/bash
a=$(cat text01.txt)
b=$(cat text02.txt)
VAR=$(paste -d " " <(echo "$a") <(echo "$b"))
echo "$VAR"

Получается
/test1/file 1.txt /test2/papka 1
/test1/file 2.txt /test2/papka 2
/test1/file 3.txt /test2/papka 3

Как теперь каждую строку подставить в команду перемещения mv?
  • Вопрос задан
  • 110 просмотров
Подписаться 1 Простой 1 комментарий
Решение пользователя Saboteur К ответам на вопрос (3)
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
У вас точно пробелы в имени файлов есть?
Если нет, то можно так:
paste 1.txt 2.txt|xargs -n2 mv

или так
sed "s/.*/mv /" 1.txt >text03.txt
paste text03.txt text02.txt text01.txt


Если есть, сперва их нужно заэкранировать.
sed -i "s/ /\\\ /g" text01.txt text02.txt
paste 1.txt 2.txt|xargs -n2 mv
Ответ написан
Комментировать