背景
#one liner program
Wikiによれば、
https://en.wikipedia.org/wiki/One-liner_program
1960年代にAPLで始まったとのこと。APLは仕事で1行たりとも読んだことも、書いたことがなく、今後調査していこうと思う。
1970年代に、BASIC, AWK(Unix command)で発展してきたとのこと。この頃は記憶にある。
1行のコマンドラインしか表示しない1行画面で接続している時をはじめ、
エディタを立ち上げるのが面倒な場合に、1行で済ませられる命令は、すごく重宝した。
現状ではどうだろうか。
dockerのubuntuの基本システムはviが入っていない。
素のubuntuで作業しているとき、
$ apt update; apt install -y vim
とするより、vimの入ったimageでdockerhubからrunした方が作業が速いときがある。
one liner programであることが最速とは限らない。
現代でもone liner programは貴重。
環境に依存しないワンライナーを書くならsedよりperlの方がいい
https://qiita.com/takc923/items/8654d69008e921c9c9fb
を拝見して考察。
- shell
お世話にはなっている。
もともとMS-DOSのbatファイルの方が多かった。 - sed
文字置換の一括処理するのに利用することがあった。 - awk
用語頻度一覧を作るのによく用いてきた。 - perl
自分では作ったことがない。引数を変更する程度。 - python
ツール類のコマンドとして採用されているものを意識せずに利用。 - ruby
brewでrubyが採用されていることを知る。変更する程度の利用。
One liner on Qiita
各言語処理系でワンライナーを走らせる方法カンペ
https://qiita.com/hakatashi/items/f3a05a03ded861af6e44
知っておくとちょっと便利。コマンドラインでワンライナーするためのオプションたち
https://qiita.com/cyross4vocaloid/items/f130f35ebf4a723015a8
素数一覧を求めるワンライナー各言語まとめ
https://qiita.com/ytaki0801/items/19059b35efe85519cfad
続・素数一覧を求めるワンライナー各言語まとめ
https://qiita.com/ytaki0801/items/dd9a4b90e405c120efc0
フィボナッチ数列を求めるワンライナー各言語まとめ
https://qiita.com/ytaki0801/items/dc6392dbce6d2b9bb483
shell
おまえは今まで打ったコマンドの回数をおぼえているのか
https://qiita.com/ymkjp/items/2fc3ae74432234fa4850
便利系ワンライナー
https://qiita.com/masachika/items/3e20ec05451e76c85dfe
ワンライナー仕事術: 日常業務におけるシェルコマンド活用法
https://qiita.com/515hikaru/items/6c9005818113c0ff5da4
よく使うワンライナー
https://qiita.com/kimikimi714/items/ed3dfb698a6ae6269c00
よく使うワンライナー
https://qiita.com/ryotaro76/items/139ed17f65f2581f8de9
ワンライナー個人メモ
https://qiita.com/kei2100/items/bf522faee1bd759c029b
いつの間にか追加してた長いワンライナーとその時のテク
https://qiita.com/benridane/items/40335fd02418bfbf1a92
バッシュ ワンライナー テンプレート
https://qiita.com/hnishi/items/a15ca0b3e5eed1d01545
居眠りしたいときに使えるワンライナー
https://qiita.com/koyapig/items/83f924e4dadf0514c519
ワンライナーで色相を変えた画像をたくさん作る
https://qiita.com/ir-yk/items/18395cc44f0d1123965d
Gitサーバーを 1行で構築する (GitBucket)
https://qiita.com/msrks/items/23bbb9ec47e81beba8f7
すべてのscreenを消す One liner
https://qiita.com/giwa/items/57f4e64a0c66a65c34e4
今日は何の日?カレンダーのデータ部分を取得するワンライナー
https://qiita.com/clown0082/items/690227814b2781141cc4
Kerasのログからグラフを作成するワンライナー
https://qiita.com/amanoese/items/5f65910f90a483f071ff
複数のファイルをワンライナーでCloudantのAttachmentsへ一括登録する
https://qiita.com/amanoese/items/525e4b9139577315e857
シェルでよく使う日付の連番をワンライナーで
https://qiita.com/amanoese/items/c5450b54b2a8e0293849
祝日をWebAPIから取得するシェルスクリプトをワンライナーで
https://qiita.com/amanoese/items/7db079377d6ebc215f60
特定ディレクトリ以下のプログラムの行数を調べたい
https://qiita.com/zoe302/items/93d2445f69e2c2307a17
one-linerでデータを集計した話https://qiita.com/Nedward/items/741559914ca7649c8d84
PowerShell
今すぐalias登録すべきPowerShellワンライナー
https://qiita.com/mu_sette/items/3954759daee8ae9ad26f
なぜPowerShellはテキストではなくオブジェクトを出力するのか
https://qiita.com/e_do_kiriko/items/ac59f32e0d6b280870fe
PowerShell CheetSheet One-Linerで片づけろ!
https://qiita.com/AnarchyInvestor/items/b281d9e8239ac21a461b
1行野郎 Bash ShellScript で URLエンコードとデコードをする
https://qiita.com/robozushi10/items/550e7c3c54d7ce01a737
csv を json に変換する PowerShell ワンライナー
https://qiita.com/hidao/items/940dce912a80f6fc19fa
sed
Amazonの長い長いURLを短縮するワンライナー(正規表現を勉強してみた)
https://qiita.com/hann-solo/items/eba0bb27b5639eeca093
awk
実用 awk ワンライナー
https://qiita.com/b4b4r07/items/45d34a434f05aa896d69
awkワンライナー集
https://qiita.com/yusukew62/items/f9502a3ddd6087a496ce
awkによるマッチング(ワンライナー)
https://qiita.com/akira_kikaku/items/1e74aeb8746ca316ee1a
AWK One Liner(一行野郎)
https://qiita.com/fkym/items/9c1a5b6760887826c0c2
n行ごとに処理をするワンライナー
https://qiita.com/dll7/items/95440b17ea8397231607
ls + awk + xargs + mvの複合コマンド
https://qiita.com/dongxinanbei/items/13528b9a0a9d78b5aa81
Qiitaでフォロー中のタグを全部指定した検索結果画面のURLを作るワンライナー
https://qiita.com/hidezzz/items/dd0a94f843c023918860
ファイル名からスペースとシングルクォートを取り除いてリネームするワンライナー
https://qiita.com/emergent/items/07fe612db727ef2c928c
curl
curlでChatworkの投稿を削除するワンライナー
https://qiita.com/hidao/items/92e9b672420124a19f58
##perl
Perlワンライナー ブをスペース4に変換
https://qiita.com/oinume/items/01cb087adf246b0a8f42
Perlワンライナー
https://qiita.com/kuritayu/items/9936ca21fad64192a49f
はじめてのperlワンライナー
https://qiita.com/facel/items/c253735899da3092734a
実用 perl ワンライナー
https://qiita.com/ohtsuka1317/items/92c339a65533e1e6c6fc
Perlワンライナー覚書
https://qiita.com/tossh/items/f8d448c0c039f68c0ea3
log調査なんかでワンライナーPerlつかうとき用忘備録(正規表現 置換)
https://qiita.com/YOKO-Chance/items/52bb121b406bd11cbd35
Perl ワンライナーとその仲間たち
https://qiita.com/teckl/items/98de382787401d2392c3
C
gcc で pre-defined なマクロを調べるワンライナー
https://qiita.com/monamour555/items/79f7fa0dd12a50929fa6
python
コードをもっとPythonic(ニシキヘビ的)に!任意のPythonコードをアンダースコアでワンライナー化
https://qiita.com/Syuparn/items/1afa97e8dd731923f1ad
Pythonで九九を出力するワンライナー
https://qiita.com/gm_kou/items/0c8f3569980b36c672ef
pythonのone-liner
https://qiita.com/jack-low/items/ab3023ff67829ff42aa0
python で one liner webServer(with CGI)
https://qiita.com/shigenobu_c/items/9fc9a0c97a7acd5a51f7
言語処理100本ノック 第1章をpythonのワンライナーで解く
https://qiita.com/tsumugi02/items/644f76372a7a0af31021
【Python】再帰なしでワンライナーフィボナッチ数列【ネタ】
https://qiita.com/Cartelet/items/f055e1e33564b4697848
Python3一行書きの手法まとめ
https://qiita.com/Mikaner/items/edd1d55ab239c189137b
javascript
HTMLで最も短い湯婆婆(記事内で試せます)
https://qiita.com/TD12734/items/743e90fb867fee8c562e
コンソールを用いたワンライナー TIPS(IE11)
https://qiita.com/juner/items/d64c4e2cad1c9c2674bc
Javascriptでワンライナー湯婆婆
https://qiita.com/Poteto143/items/8a406cca7d511acb40ff
【時短テク】再生速度を指定できない動画を倍速で見るためのワンライナー
https://qiita.com/t15/items/9cf11354a4e6c5ef0616
JavaScriptワンライナー #1 任意長のランダムな文字列を作る
https://qiita.com/IsamuSugi/items/4a7483c340428e6ac081
node
Nodeでワンライナー
https://qiita.com/_mk2/items/cda64628faab29de74d4
ruby
ROS用ワンライナー
https://qiita.com/raucha/items/2397534c58760bbf676d
シンボルハッシュを文字列ハッシュに変換するワンライナー
https://qiita.com/color_box/items/01dac020f441b4789d99
簡単にパスワードを作るRubyワンライナー
https://qiita.com/wai-doi/items/cec97cc38642df26b28e
WEB/browser
One Liner Web Server
https://qiita.com/ichi00/items/99326da08aa110cfa6ac
alias登録すべきワンライナーを探すワンライナー
https://qiita.com/M_Ishikawa/items/4b70b96b371613e2790a
##aws
ELBのローカル側IP、パブリック側を取得するワンライナー
https://qiita.com/nouphet/items/e81006b32edd722f34ca
php
UTCタイムスタンプ(UNIX時間)をJSTに変換して表示するワンライナー
https://qiita.com/jun_ya/items/a74f05c7132609f2665d
docker
いろいろなコマンドを実行する上で、環境を書き換えるものがあると、後で戻すの大変になることがある。
ひとまずdockerで one liner programの動作確認をしてから、実際の環境で利用するかどうかを決めるためのdocker利用。
dockerでの複数ファイルのダウンロードはwgetコマンドを使う。
$ docker run -it ubuntu /bin/bash
# apt update; apt install -y vim wget sudo apt-utils
# apt install -y curl jq perl gawk rails
Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list of
cities, representing the time zones in which they are located.
1. Africa 3. Antarctica 5. Arctic 7. Atlantic 9. Indian 11. SystemV 13. Etc
2. America 4. Australia 6. Asia 8. Europe 10. Pacific 12. US
Geographic area: 6
Please select the city or region corresponding to your time zone.
1. Aden 14. Beirut 27. Gaza 40. Karachi 53. Muscat 66. Riyadh 79. Tokyo
2. Almaty 15. Bishkek 28. Harbin 41. Kashgar 54. Nicosia 67. Sakhalin 80. Tomsk
3. Amman 16. Brunei 29. Hebron 42. Kathmandu 55. Novokuznetsk 68. Samarkand 81. Ujung_Pandang
4. Anadyr 17. Chita 30. Ho_Chi_Minh 43. Khandyga 56. Novosibirsk 69. Seoul 82. Ulaanbaatar
5. Aqtau 18. Choibalsan 31. Hong_Kong 44. Kolkata 57. Omsk 70. Shanghai 83. Urumqi
6. Aqtobe 19. Chongqing 32. Hovd 45. Krasnoyarsk 58. Oral 71. Singapore 84. Ust-Nera
7. Ashgabat 20. Colombo 33. Irkutsk 46. Kuala_Lumpur 59. Phnom_Penh 72. Srednekolymsk 85. Vientiane
8. Atyrau 21. Damascus 34. Istanbul 47. Kuching 60. Pontianak 73. Taipei 86. Vladivostok
9. Baghdad 22. Dhaka 35. Jakarta 48. Kuwait 61. Pyongyang 74. Tashkent 87. Yakutsk
10. Bahrain 23. Dili 36. Jayapura 49. Macau 62. Qatar 75. Tbilisi 88. Yangon
11. Baku 24. Dubai 37. Jerusalem 50. Magadan 63. Qostanay 76. Tehran 89. Yekaterinburg
12. Bangkok 25. Dushanbe 38. Kabul 51. Makassar 64. Qyzylorda 77. Tel_Aviv 90. Yerevan
13. Barnaul 26. Famagusta 39. Kamchatka 52. Manila 65. Rangoon 78. Thimphu
Time zone: 79
##docker hub
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d48bcf70b686 ubuntu "/bin/bash" 4 hours ago Up 4 hours practical_wozniak
$ docker commit d48bcf70b686 kaizenjapan/oneliner
sha256:df0bc8e57e698da6027fb2716401bc58658e09845faf06add9b5476249ff45b5
$ docker push kaizenjapan/oneliner
The push refers to repository [docker.io/kaizenjapan/oneliner]
ee392bf0795e: Pushed
27a216ffe825: Mounted from kaizenjapan/jq
9e9d3c3a7458: Mounted from kaizenjapan/jq
7604c8714555: Mounted from kaizenjapan/jq
adcb570ae9ac: Mounted from kaizenjapan/jq
latest: digest: sha256:1dd469ce7a70291598cb7b24c1b55b684452cd8f0adbdda59052403bd299b188 size: 1362
$
DockerでJupyter立ち上げるワンライナー
https://qiita.com/bboobbaa/items/0324925f1137bef07f40
参考資料(reference)
jqインストールワンライナー
https://qiita.com/FumiyaShibusawa/items/a0be39d28139a044157d
docker で jq
https://qiita.com/kaizen_nagoya/items/8b35775c354cac36093b
docker利用を勧める256の理由(現在12)
https://qiita.com/kaizen_nagoya/items/c4e5075142bf5e11ddbe
文書履歴(document history)
ver. 0.01 初稿 20190205
ver. 0.02 docker, ap-get install 登録 20190205
ver. 0.03 docker hub登録 20190205
ver. 0.04 参考資料追記 20190212
ver. 0.05 ワンライナー 追記 20190225
ver. 0.06 javascript追記 20190305 午前
ver. 0.07 C追記 20190305 午後
ver. 0.08 jupyter追記 20190429
ver. 0.09 色 追記 20190503 午前
ver. 0.10 git 追記 20190503 午後
ver. 0.11 python追記 20190505
ver. 0.12 keras追記 20190508
ver. 0.13 追記 20190511
ver. 0.14 追記 20190520
ver. 0.15 追記 20190522
ver. 0.16 はじめに加筆 20190525
ver. 0.17 追記 20190609
ver. 0.18 標題追記 20190813
ver. 0.19 項目追記 20210723
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.