Как обновить один и тот же файл в папку назначения с другой структурой каталогов?

Похоже дело просто или убрать кавычки и потом печатать с 3-го поля до конца строки:

$ tr -d \" < file | cut -d, -f3-
net2-thrift-netconf,net.driver.memory,2
net2-thrift-netconf,net.executor.cores,2
net2-thrift-netconf,net.executor.instances,2
net2-thrift-netconf,net.executor.memory,2
net2-thrift-netconf,net.sql.shuffle.partitions,141
net2-thrift-netconf,net.dynamicAllocation.enabled,true
net2-thrift-netconf,net.dynamicAllocation.initialExecutors,2
net2-thrift-netconf,net.dynamicAllocation.minExecutors,2
net2-thrift-netconf,net.dynamicAllocation.maxExecutors,20

Таким образом, tr -d \"удаляет кавычки, а cut -d, -f3-печатает от 3-го до последнего,-разделенных полей.

0
20.02.2020, 22:16
1 ответ

Похоже, вы хотите rsyncобновить каждый найденный экземпляр файла. Этого не будет. Если у вас есть только один файл для обновления везде, который находится в цели, вы можете попробовать:

find folder_2 -name a.text -exec rsync -hvPt folder/a.text {} \; # no need for -r

Я не уверен, что вы делаете с -h, если только у вас действительно нет жестких ссылок. Это заставляет меня думать, что вы пытаетесь обновить ссылки, а не файлы. Если у вас нет хорошего варианта использования, вам, вероятно, следует использовать программные ссылки (ln -s), поскольку они могут охватывать файловые системы.

0
28.04.2021, 23:22

Теги

Похожие вопросы