Этот код должен читать из wget2.html и выводить найденные ссылки. Но это дает мне вывод без разрывов строки. Как я могу заставить кошку добавлять разрывы строк?
chksitename=$(cat wget2.html | grep -e "$sitename" | sed -e "s/^.*\("$sitename".*jpg\).*$/\1/g" | sort | uniq) echo $chksitename
Проблема не в строке cat, а в строке echo.Чтобы получить разрывы строк, необходимо использовать:
cat
echo
echo "$chksitename"
См. Также Захват многострочного вывода в переменную Bash .
Я думаю, вы можете заменить ваш cat/grep/sed одним sed:
cat/grep/sed
sed
sed -e -n "/$sitename/ s@^.*\("$sitename".*jpg\).*$@\1@pg" wget.html
И вы можете заменить sort | uniq на sort -u.
sort | uniq
sort -u
Вы можете попробовать:
echo $chksitename | tr ' ' '\n'