#linux #bash #awk #sed
#линукс #удар #awk #сед
Вопрос:
Мой файл содержит некоторые URL-адреса в urls.txt Другой файл содержит несколько других слов в words.txt
Мне нужно добавлять каждое слово в конце каждого URL-адреса.
Я хочу, чтобы вывод был похож (строка за строкой)
url.1/hi url.1/hello url.1/there url.2/hi url.2/hello url.2/there url.3/hi url.3/hello url.3/there
Я просто хочу однострочную команду 🙂
Нравится
urls.txt words.txt gt;gt; output.txt
Комментарии:
1. Проблема выглядит простой, но, пожалуйста, добавьте то, что вы пробовали. Какие проблемы возникают у вас во время программирования? Там нет никакой
cat Requirement | StackOverflow.com gt; workDone
службы
Ответ №1:
Дано:
cat words.txt hi hello there cat urls.txt url.1 url.2 url.3
Вы можете использовать awk
этот способ:
awk 'FNR==NR{words[cnt ]=$1; next} {for (i=0; ilt;cnt; i ) print $1 words[i]} ' words.txt urls.txt
С принтами:
url.1hi url.1hello url.1there url.2hi url.2hello url.2there url.3hi url.3hello url.3there
Ответ №2:
Это может сработать для вас (GNU sed и Parallel)
parallel echo "{1}{2}" :::: urlsFile :::: wordsFile
или
sed 's@.*@echo "amp;" | sed "s#.*#amp;amp;#" wordsFile@e' urlsFile