Ответ Гленна, конечно, очень хорош, но в таких случаях я бы использовал awk
для генерации командных строк, а затем передать результаты в оболочку. Поскольку awk
является частью POSIX, это, вероятно, будет правильным решением.
awk -F'[, ]+' '{print "rectang -cs", $1, $2, $3, $4}' table.csv | sh
или присвоение первого поля первому полю, чтобы запустить повторное вычисление разделителя полей:
awk -F'[, ]+' '$1=$1{print "rectang -cs", $0}' table.csv | sh
В качестве альтернативы, с аналогичным шаблоном:
sed -e 's/^/rectang -cs /' -e 's/, */ /g' table.csv | sh
Конечно, во время экспериментов вы можете просто посмотреть на команды и только если вы действительно уверены, вы отправляете его на sh
.
Это должно сработать. Надеюсь, я вас правильно понял:)
$ rsync -rav --ipv4 /tmp/f.txt someuser@dev1:/home/someuser
изman rsync
-v, --verbose increase verbosity
-a, --archive archive mode; same as -rlptgoD (no -H)
-r, --recursive recurse into directories
-4, --ipv4 prefer IPv4
Попробуйте использовать :scp -4 -v -r -o "ForwardAgent=yes" user@host1:myFile user@d.e.f.g
:
Где d.e.f.g — IPv4-адрес host2. И проверьте свой DNS, пожалуйста, чтобы он возвращал правильные адреса.