读取 2 列文件,rsync 从第 1 列到第 2 列的每一行

Sys*_*eve 3 bash rsync shell-script

我有一个包含 2 列的文件。第 1 列具有源目录,第 2 列具有目标。例如:

$ cat directories.txt

/usr/local/myapp /root/myapp_bak
/home/steve/dir1 /root/stevedir
/etc/etc/etc /another/destination
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个简短的脚本/一个班轮来读取该文件,并且rsync仅按行从 column1 到 column2。例如,它将读取directories.txt然后执行以下操作:

rsync -va /usr/local/myapp /root/myapp_bak
rsync -va /home/steve/dir1 /root/stevedir
Run Code Online (Sandbox Code Playgroud)

我真的很感激任何帮助。

Rah*_*hul 8

这可能对你有帮助

while IFS=' ' read -r source dest
do 
    rsync -av "$source" "$dest"
done <directories.txt
Run Code Online (Sandbox Code Playgroud)


Sun*_*eep 5

尝试

< directories.txt xargs -n 2 rsync -va
Run Code Online (Sandbox Code Playgroud)

  • 或 `xargs -d'\n' rsync ...` (2认同)