ブックマーク ファイルに Chrome の一致パターンを使用するか、同様に使用したい場合は、一致に基づいてawk
さまざまなフィールド区切り文字に基づいて特定のフィールドを切り取ります。
サンプル写真を添付しました。ファイルとして追加する方法が見つかりませんでした。
H3
フォルダ名(文字列が一致する場合)とURL(HREF
文字列がある場合)が必要です。
次の2つのコマンドは対応する一致操作を完了します。
awk -F'[<>]' '/H3/{print $5}' bookmarks.htm
awk -F'"' '/HREF/{print $2}' bookmarks.html
私の目標は、上記の2つのステートメントを組み合わせて出力を次のようにすることです。
UNIX
url-1
url-2
OCE
url-3
url-4
url-5
ANDROID
url-6
url-7
「if」、「then」、「else」を試しましたが、awk
役に立ちませんでした。
どうやってこれを達成できますか?それより良い候補がありますかawk
? python、perlはすべて素晴らしいですが、そのタスクを実行するシェルスクリプトを書くのは簡単な作業なので、1行だけ考える必要はありません。
ベストアンサー1
これはHTMLファイルを処理する誤った方法です。sed/アッ/...特殊パーサーはほとんどありませんが、一時的な代替として使用されます。
sed '
/\n/{P;d;}
/<H3/s/[><]/\n/4g
/HREF/s/"/\n/g
D
' bookmarks.htm
GNU以外のバージョンの場合sed:
sed '
/\n/{P;d;} #if there is more then 1 line «P»rint 1st line then «d»elete all
/<\/H3/s//\n/ #replace «</H3» by «\n»ewline
/\n/s/">/\n/ #replace «">» by «\n»ewline if previous command is executed
/HREF/s/"/\n/g #put «\n»ewline» around url if «HREF» in line
D #«D»elete 1 first line, go to start
' bookmarks.htm