LoginSignup
4
3

More than 5 years have passed since last update.

ソースコードの一部を切り取ってクリップボードにコピーするワンライナー

Last updated at Posted at 2016-01-18

ソースコードの一部のみクリップボードにコピーし、別のエディタなどで利用したい時に使えそうです。

こう書いてみた

$ cat sample.swift  | sed -n '3,10p' | pbcopy

短くすみました。sedのnオプションは指示した行のみ標準出力に書き出す時に使います。ここでは3行目から10行目までを書き出す(printする)ように指定しています。pbcopyはクリップボードにコピーするコマンドです。

簡単に説明してみる

元のファイルがsample.swiftになります。Swiftでstructを使った簡単なサンプルです。

sample.swift
#!/usr/bin/swift

struct Languages {
    let lang1: String
    let lang2: String

    func favoriteLanguages() -> String {
        return "1: \(lang1)\n2: \(lang2)\n"
    }
}

let lang = Languages(lang1: "Swift", lang2: "Python")
print(lang.favoriteLanguages())

ターミナルで次のように打ち込みます。上のファイルの構造体を定義する部分(3行目から10行目)のみ切り取って、クリップボードにコピーします。

$ cat sample.swift  | sed -n '3,10p' | pbcopy

別のエディタに貼り付けた結果はこのようになります。

struct Languages {
    let lang1: String
    let lang2: String

    func favoriteLanguages() -> String {
        return "1: \(lang1)\n2: \(lang2)\n"
    }
}

反省

ファイルの一部を切り取りクリップボードにコピーする方法を、簡単なワンライナーで実現することができました。ちなみにpbpasteすればペーストできます。クリップボードにコピーされた内容を確認するのに使えます。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3