Я хочу назвать каждый файл .tar в приведенном ниже коде и назвать его на основе списка файлов, который содержит имена, но я не хочу связываться с тегом исключения. У меня есть файл списка, и я думал об использовании текстового редактора и добавлении cvf в начало каждой строки в списке, а затем с помощью sed заменил строку cvf , добавив таким образом флаг и затем имя следует
т.е.
cvf name1
cvf name2
cvf name3
Я попытался использовать sed 's/cvf/word2/g' input.file
и, как и ожидалось, он заменяет только cvf словом замены. Я хочу, чтобы заменяющее слово (word2) изменялось и было каждой строкой из файла списка.
Код, который я хочу изменить:
stage ('Zip Repo340') {
steps {
sh"""
tar --exclude='*.tar' -cvf .tar *
"""
stage ('Zip Repo341') {
steps {
sh"""
tar --exclude='*.tar' -cvf .tar *
"""
stage ('Zip Repo342') {
steps {
sh"""
tar --exclude='*.tar' -cvf .tar *
"""
У меня 340 из эти репозитории, и я хочу назвать их, основываясь на имеющемся у меня файле списка.
Файл списка:
name1
name2
name3
Требуемый вывод:
stage ('Zip Repo340') {
steps {
sh"""
tar --exclude='*.tar' -cvf name1.tar *
"""
stage ('Zip Repo341') {
steps {
sh"""
tar --exclude='*.tar' -cvf name2.tar *
"""
stage ('Zip Repo342') {
steps {
sh"""
tar --exclude='*.tar' -cvf name3.tar *
"""
Я могу добавить cvf к каждой строке моего файла списка, но если есть более элегантное решение, я весь слух. Самая большая проблема, с которой я столкнулся, - это запуск команды sed replace, и слово замены приходит из файла списка.