Мой скрипт принимает такой входной файл
user:tag:count
Он берет пользователя, ищет его на странице и выводит URL, указывающий на пользователя. После этого входной файл должен быть изменен на
user:tag:count:URL
Скрипт — это цикл while, который начинается с i=line1 и заканчивается на последней строке. Таким образом, строка, над которой работает цикл, сохраняется в $i, а полученный URL сохраняется в $url.
Обычно я делаю это с помощью sed, но у меня возникли проблемы, если переменная содержит "/". Я попробовал сделать это с помощью awk:
awk -v iv="$i" 'NR == iv' input | awk -v var="$count" '{print $0 ":"var}'
Он добавляет URL-адрес в нужную строку, но, конечно, это не поможет мне редактировать входной файл так, как мне нужно.
Есть ли способ объединить два awk в один, чтобы можно было редактировать файл?
решение1
Просто используйте sed
без /
разделителя. Например:
sed 's|foo|bar|'
Но да, вы также можете объединить две команды awk:
awk -v iv="$i" -v var="$count" 'NR == iv{print $0 ":"var}'