CLI 작업을 편안하게 하는 4가지 도구 peco , remarshal , jq , qq

5095 단어 remarshaljqPecoq


CLI 조작이기 쉽고 귀찮은 조작을 간단하게 해주는 툴군을 정리해 소개합니다.
각각 기출이므로, 타이틀을 읽고 전부 아는 분은 특별히 얻는 것은 없는 기사입니다.

peco





대화형 필터링 도구입니다.
CLI 출력 결과를 신속하게 선택할 때 유용합니다.

예: 여러 디렉토리에서 빠르게 대상을 선택하고 이동


alias pcd='cd $(find . -maxdepth 1 -type d | peco)'



jq





JSON에서 값을 얻고, 성형하고, 집계를 쉽게 할 수 있는 툴.

예: Livedoor의 날씨 API에서 도쿄 위치 정보 가져오기


$ curl -s http://weather.livedoor.com/forecast/webservice/json/v1\?city\=130010 | jq '.location'
{
  "city": "東京",
  "area": "関東",
  "prefecture": "東京都"
}

q





CSV, TSV 파일등을 표준 입력으로부터 받아 SQL로 필터 할 수 있는 툴.

예: 도도부현 CSV 필터링


  • 원본 데이터는 다음에서 가져옵니다

  • $ cat prefecture.csv                  ⮂
    No,都道府県名,市区名,緯度,経度,New Column
    1,北海道,札幌市,43.0646147,141.3468074,
    2,青森県,青森市,40.8243077,140.7399984,
    3,岩手県,盛岡市,39.7036194,141.1526839,
    4,宮城県,仙台市,38.2688373,140.8721,
    5,秋田県,秋田市,39.7186135,140.1023643,
    6,山形県,山形市,38.2404355,140.3636333,
    7,福島県,福島市,37.7502986,140.4675514,
    8,茨城県,水戸市,36.3418112,140.4467935,
    9,栃木県,宇都宮市,36.565725,139.8835651,
    10,群馬県,前橋市,36.3906675,139.0604061,
    11,埼玉県,さいたま市,35.8569991,139.6488487,
    12,千葉県,千葉市,35.6050574,140.1233063,
    13,東京都,新宿区,35.6894875,139.6917064,
    14,神奈川県,横浜市,35.4475073,139.6423446,
    15,新潟県,新潟市,37.9025518,139.0230946,
    16,富山県,富山市,36.6952907,137.2113383,
    17,石川県,金沢市,36.5946816,136.6255726,
    18,福井県,福井市,36.0651779,136.2215269,
    19,山梨県,甲府市,35.6641575,138.5684486,
    20,長野県,長野市,36.6512986,138.1809557,
    21,岐阜県,岐阜市,35.3912272,136.7222906,
    22,静岡県,静岡市,34.9771201,138.3830845,
    23,愛知県,名古屋市,35.1801883,136.9065647,
    24,三重県,津市,34.7302829,136.5085883,
    25,滋賀県,大津市,35.0045306,135.8685899,
    26,京都府,京都市,35.0212466,135.7555968,
    27,大阪府,大阪市,34.6862971,135.5196609,
    28,兵庫県,神戸市,34.6912688,135.1830706,
    29,奈良県,奈良市,34.6853345,135.8327421,
    30,和歌山県,和歌山市,34.2259867,135.1675086,
    31,鳥取県,鳥取市,35.5038906,134.2377356,
    32,島根県,松江市,35.4722952,133.0504997,
    33,岡山県,岡山市,34.6617511,133.9344057,
    34,広島県,広島市,34.3965603,132.4596225,
    35,山口県,山口市,34.1859563,131.4706493,
    36,徳島県,徳島市,34.0657179,134.5593601,
    37,香川県,高松市,34.3401491,134.0434436,
    38,愛媛県,松山市,33.8416238,132.7656808,
    39,高知県,高知市,33.5597062,133.5310786,
    40,福岡県,福岡市,33.6065756,130.418297,
    41,佐賀県,佐賀市,33.2494416,130.2997942,
    42,長崎県,長崎市,32.7448388,129.8737562,
    43,熊本県,熊本市,32.789827,130.7416672,
    44,大分県,大分市,33.2381718,131.6126189,
    45,宮崎県,宮崎市,31.9110956,131.4238934,
    46,鹿児島県,鹿児島市,31.5610825,130.5577279,
    
  • 필터 실행

  • 위도가 35보다 큰 도도부현명, 위도, 경도 보기
    $ cat prefecture.csv | qq -ic -q "select 都道府県名,緯度,経度 from stdin where 緯度 > 35"
    北海道,43.0646147,141.3468074
    青森県,40.8243077,140.7399984
    岩手県,39.7036194,141.1526839
    宮城県,38.2688373,140.8721
    秋田県,39.7186135,140.1023643
    山形県,38.2404355,140.3636333
    福島県,37.7502986,140.4675514
    茨城県,36.3418112,140.4467935
    栃木県,36.565725,139.8835651
    群馬県,36.3906675,139.0604061
    埼玉県,35.8569991,139.6488487
    千葉県,35.6050574,140.1233063
    東京都,35.6894875,139.6917064
    神奈川県,35.4475073,139.6423446
    新潟県,37.9025518,139.0230946
    富山県,36.6952907,137.2113383
    石川県,36.5946816,136.6255726
    福井県,36.0651779,136.2215269
    山梨県,35.6641575,138.5684486
    長野県,36.6512986,138.1809557
    岐阜県,35.3912272,136.7222906
    愛知県,35.1801883,136.9065647
    滋賀県,35.0045306,135.8685899
    京都府,35.0212466,135.7555968
    鳥取県,35.5038906,134.2377356
    島根県,35.4722952,133.0504997
    

    remarshal





    TOML, YAML, JSON을 상호 변환한다.

    jq 예제 참조

    좋은 웹페이지 즐겨찾기