На данный момент я отказался от спроса на однострочник и вместо этого сделал это как сценарий.
Мне пришлось опубликовать это в качестве ответа, так как это было бы слишком долго для комментария. Тем не менее, не стесняйтесь отвечать.
Этот сценарий выполняет свою работу, но работает слишком медленно, может ли кто-нибудь ускорить его или предложить однострочную версию?
#!/bin/sh
file=$1
while IFS= read -r line
do
hdr=$(echo $line | awk -F'[<>]' '/H3/{print $5}')
url=$(echo $line | awk -F'"' '/HREF/{print $2}')
if [ ${url} ]; then
echo $url
elif [ ${hdr} ]; then
echo $hdr
fi
done <"$file"
Вот файл: (наконец-то понял)
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<h1>Bookmarks</h1>
<dl>
<dd>
<DT><H3 ADD_DATE="1484311924" LAST_MODIFIED="1485532328">UNIX</H3>
<dl>
<dt><a HREF="http://unix.stackexchange.com/questions/223182/how-to-replace-spaces-in-all-file-names-with-underscore-in-linux-using-shell-scr" add_date="1484311897">url-1</a></dt>
<dt><a HREF="http://unix.stackexchange.com/questions/81349/how-do-i-use-find-when-the-filename-contains-spaces" add_date="1484738308">url-2</a></dt>
</dl>
</dd>
<dd>
<DT><H3 ADD_DATE="1486550854" LAST_MODIFIED="1487228526">OCE</H3>
<dl>
<dt><a HREF="http://www.oraclecertificationprep.com/apex/f?p=OCPSG%3AEXAM_DETAILS%3A%3A%3ANO%3A%3AP2_EXAM%3A1Z0-061" add_date="1486550866">url-3</a></dt>
<dt><a HREF="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=303&p_certName=SQ1Z0_047" add_date="1486550898">url-4</a></dt>
<dt><a HREF="https://www.quora.com/How-do-you-prepare-for-an-Oracle-Database-SQL-exam" add_date="1486550950">url-5</a></dt>
</dl>
</dd>
<dd>
<DT><H3 ADD_DATE="1487084050" LAST_MODIFIED="1487228595">ANDROID</H3>
<dl>
<dt><a HREF="https://material.io/guidelines/style/color.html#" add_date="1487228526">url-6</a></dt>
<dt><a HREF="https://developer.android.com/index.html" add_date="1487228539">url-7</a></dt>
</dl>
</dd>
</dl>
</body>
</html>
Файл /etc/skel/.bash_profile
копируется в ~ / .bash_profile
при создании нового пользователя.
В Fedora 25, я считаю, что этот файл содержит утверждение
PATH=$PATH:$HOME/.local/bin:$HOME/bin
Люди Fedora очевидно думали, что эти два места обычно используются для частных исполняемых файлов, и поэтому по умолчанию добавили их в PATH
.
Вы должны найти эту строку в своем файле ~ / .bash_profile
и либо закомментировать ее, либо удалить. В этом нет ничего плохого, если вы не используете эти два каталога (или если они не существуют).
Ссылка: http://forums.fedoraforum.org/showthread.php?t=310005 (последнее сообщение в ветке внизу)