Попробуйте использовать команду «экран» перед запуском длительной задачи, а затем, когда вы отсоединитесь, вы сможете снова подключиться к «экрану -r -d», когда вам снова понадобится. Я обнаружил, что при использовании терминала через ssh или другие сетевые подключения они иногда могут прерываться из-за плохого подключения к серверу. запуск его внутри «экрана» устраняет эту проблему.
Мы динамически устанавливаем значение OFS в зависимости от того, больше ли полей 3.
$ awk '
BEGIN { a[1] = FS = "/" }
{
OFS = a[(NF>3)]
print $3, $4
}
' file
$ echo -n "refs/heads/feature" | awk -F '/' '{ print $3 (NF>3 ? FS $4 : "")}'
feature
$ echo -n "refs/heads/feature/foo" | awk -F '/' '{ print $3 (NF>3 ? FS $4 : "")}'
feature/foo
Для этого можно использовать cut
:используя косую черту в качестве разделителя, печатать с 3-го до последнего поля:
while read branch; do
echo "$branch" | cut -d/ -f3-
done <<END
refs/heads/feature
refs/heads/feature/foo
END
выходы
feature
feature/foo
Вы также можете использовать -f3-4
или -f3,4
, если вам нужны только 3-е и 4-е поля.