Macでクリップボード内のXMLを整形してクリップボードに保存し直す

  • 0
    いいね
  • 0
    コメント
    この記事は最終更新日から1年以上が経過しています。

    整形されてないXMLをフォーマットするとき、エディタのフォーマット機能使ってたけど、ちょっと見るだけなのに「ファイルを保存しないとフォーマットできない」とか「拡張子が違うからってフォーマットできない」とか怒られるのがめんどくさいのでクリップボードからクリップボードに移動させる方法を探してた。

    クリップボードをやり取りするコマンド(pbcopy,pbpaste)はもともと知ってたんだけど、xmllintという神コマンドも知ってしまった。

    準備

    パスが通っている適当なところにxmlformat.shを配置する。私は~/bin/に配置した。

    ~/bin/xmlformat.sh
    #!/bin/sh
    pbpaste | xmllint --format - | pbcopy
    

    コマンドの内容はこんな感じ

    • #!/bin/sh - このファイルはシェルスクリプトだよって教える
    • pbpaste - クリップボードから内容をペーストする
    • |(パイプ) - 別のプログラムに入力に引き渡す
    • xmllint - xmlのフォーマットに使用する
    • --format - xmllintのオプション
    • pbcopy - クリップボードにコピーする

    shコマンドを使わなくてもいいように実行権限を付与する

    chmod +x ~/bin/xmlformat.sh
    

    実行

    整形されてないXMLをクリップボードにコピーしてから次のコマンドを実行する。

    xmlformat.sh
    

    これで、めでたく整形されたXMLがクリップボードに保存される。

    参考(というかググってたらほぼそのものにたどり着いた)

    XMLを整形する - 文系プログラマによるTIPSブログ