Для Ubuntu: по умолчанию можно получить доступ недавно созданной учетной записи пользователя.
Для выполнения любой команды как корня, можно использовать
sudo command
затем введите свой нормальный пароль.
Корневая учетная запись по умолчанию заблокирована. Для активации корня командной строкой просто входят
sudo passwd
затем введите пароль своего зарегистрированного пользователя и затем новые пароли для корня. Теперь можно войти в систему как корневое использование su
и затем введите пароль корня.
Кажется, что Вы хотите использовать 3-й элемент пути, объединенный с последним элементом пути как модуль для проверки. В этом случае можно сделать это как это в awk:
awk -F/ '
{
split($NF, a, "-")
module=a[1] "-" a[2] "-" $6
print "svn co " $0 " " module
}' list.txt
Объяснение
split
отделяется $NF
в дефисах в a
массив (например. a[1] = issue
, a[2] = 001
и a[3] = name1
). Первые два элемента a
затем связываются вместе с 3-м элементом пути ($6
) произвести желаемое имя модуля.
Если Ваша версия поддержек awk, указывающих разделителя полей как регулярное выражение, можно использовать эту более простую альтернативу:
awk -F'[/-]' '{ print "svn co " $0 " " $8 "-" $9 "-" $6 }' list.txt
GNU sed альтернатива:
sed -r 's:(([^/]*/){5})([^/]+)/([^/]+)/(([^-]+-){2})(.*):\1\3/\4/\5\7 \5\3:'
Объяснение
(([^/]*/){5})
сначала пять элементов пути, отметить //
счета для двух элементов.([^/]+)
модуль укусил.([^/]+)
ответвление укусило.(([^-]+-){2})
сначала два дефиса разграничили элементы, например. issue-001-
.svn co //svn.server.address/repos/project/module1/branches/issue-001-name1 issue-001-module1
svn co //svn.server.address/repos/project/module2/branches/issue-002-name2 issue-002-module2
svn co //svn.server.address/repos/project/module3/branches/issue-003-name3 issue-003-module3
Это может также быть легко выполнено с sed
:
$ sed 's|\(.*/\(.*\)\)|svn co \1 \2|g' file
svn co //svn.server.address/repos/project/module1/branches/issue-001-name1 issue-001-name1
svn co //svn.server.address/repos/project/module2/branches/issue-002-name2 issue-002-name2
svn co //svn.server.address/repos/project/module3/branches/issue-003-name3 issue-003-name3
Можно ли попробовать следующую команду?
cat list.txt |
awk -F'/branches/' '{a=gensub(/name/,"module", 1, $2); print "svn co "$0" " a}'
$ cat d.txt
// svn.server.address / repos / project / module1 / branch / issue-001-name1
// svn.server.address / repos / project /module2/branches/issue-002-name2
//svn.server.address/repos/project/module3/branches/issue-003-name3
$awk 'BEGIN {FS = "/ "} {print" svn "," co ", $ 0, $ 8} 'd.txt
svn co //svn.server.address/repos/project/module1/branches/issue-001-name1 issue- 001-name1
svn co //svn.server.address/repos/project/module2/branches/issue-002-name2 issue-002-name2
svn co //svn.server.address / repos / project / module3 / branch / issue-003-name3 issue-003-name3