タグ

bashに関するt2y-1979のブックマーク (60)

  • 連続する数列をハイフンでまとめるピュアシェルスクリプト - ダメ出し Blog

    http://blog.ueda.asia/?p=1663 awkで連続した数列を範囲形式に - jarp, http://jarp.does.notwork.org/diary/201311c.html#201311271 TL で見かけた回答ツイート https://twitter.com/RobustHunter/status/405552789876523008 https://twitter.com/uspmag/status/405730524733247488 https://twitter.com/masaru0714/status/405740108948598784 真の shellist たるもの、外部コマンドに頼ってはいけない(適当)。 というわけで、ピュアシェルスクリプトをどうぞ。 read i;s=${i%% *};let p=x=s-1;for n in $i

    t2y-1979
    t2y-1979 2014/06/14
    ピュアシェルスクリプトって初めて聞いた
  • bash によるオプション解析 - Qiita

    すこし記事が長いため、簡単なアウトラインを書いておきます。要点だけ掴みたい場合は、最終項の「まとめ」を読むのがいいかもしれません。 コマンドライン引数の一般的な解析手法 それぞれの特徴 〜 getopt と getopts の違い getopts(メリット・デメリット) getopt(メリット・デメリット) 自前で解析しちゃう(唯一のデメリット) まとめ ============================= コマンドライン引数を処理する一般的な手法として、 getopts getopt shift などで自力で解析 といった具合に、上から順に考えつくかと思います。getopt(3) は UNIX において、コマンドの引数を処理する一般的な C 言語のライブラリ関数です。それを用いて実装されたコマンドが getopt(1) です。Bourne シェル系だと内部関数になりますが、同系統の

    bash によるオプション解析 - Qiita
  • How to paste into a terminal?

  • UEC - usp engineers' community site - UEC - usp engineers' community

    UEC - UNIXを深く理解し、シェルプログラミングを極めるコミュニティサイト Info インフォメーション イベント情報 / ニュース・プレスリリース ユニケージについて ユニケージ開発手法とは / ユニケージエンジニアとは ユニケージ開発手法 技能検定 / 試験日程 ユニケージ開発手法 教育講座 / 開講日程 ユニケージ開発手法 教育講座レポート 出版物 シェルスクリプトマガジン / 注文 / 取扱書店 / 問合せ USP出版書籍 / 注文 / 取扱書店 / 問合せ Software Design / FreeBSD Expert FreeBSD Weekly Topics / 日経Linux 推薦図書 オススメの定番書 / より上級者を目指す UNIXビギナー向け教 / UNIXの文化を知る AWK/SEDを習得する / 手元に置きたい実用書 古典を楽しむ UECサイトについて

  • プロセス・パイプ・リダイレクション・ファイルディスクリプタの実体を見に行く - ザリガニが見ていた...。

    プロセス置き換えとか、名前付きパイプとか、とても便利な機能なのだけど、その仕組みはどうなっているのだろう?断片的な知識ばかりでは、その核心にはなかなか辿り着けない。サンプルコードの真似はできるけど、それ以上の発想はできない...。もっと根的なところからちゃんと理解しておかないと、いつまでたってもコマンドの使い方の質が理解できないと感じた。プロセスとは何か?パイプとは何か?リダイレクションとは何か?ファイルディスクリプタとは何か?可能な限りその質を探ってみようと思う。 UNIXのプロセス UNIXでは、複数のユーザーがログインした状態で、同時に複数の処理を依頼される状況が多々ある。 ところが、どんなに高性能なCPUであっても、ある瞬間に処理できるのはたった1つの処理だけである。 そんな時OSは、それぞれの処理に必要なメモリ領域を割り当てて、CPUをタイミングよく切り替えながら同時並行的

    プロセス・パイプ・リダイレクション・ファイルディスクリプタの実体を見に行く - ザリガニが見ていた...。
  • シェルスクリプトを書くときに気をつける9箇条 - Qiita

    最新の類似投稿としてシェルスクリプトのコーディングルール2014も併せてどうぞ。 2014/10/09追記 ぼくがシェルスクリプトを書くときに気にしていること、過去の失敗で書き留めたことを忘れないために。 1. グローバル変数は大文字 PATH や HOME など、環境変数が大文字なので、エクスポートする変数を大文字で書くという習慣は一般的であるような気がしますが、エクスポートする変数を抱えるシェルスクリプトを作成する機会が稀なので。 グローバル変数は大文字 ローカル変数は小文字 エクスポートする変数も大文字 関数内からグローバル変数にアクセスする場合がありますが、やはり区別していると、可読性が増すような気がするのでお勧めです。 2. awk を知る Unix 上にて文書処理をするときに、数多くのフィルタコマンド(grep、cut、tr、head、sort、uniq、sed、awk、wc、

    シェルスクリプトを書くときに気をつける9箇条 - Qiita
  • シェルスクリプトで役立つテキスト文字列のパターンマッチングの基礎 | OSDN Magazine

    シェルプログラミングでは、文字列に関する操作が大きな役割を果たすことになる。ここで言う文字列とは、連続した任意のキャラクタの並びで構成されるテキストのことで、具体例としてはインプットされるテキストやコマンドの引数などを考えればいい。そして、プロンプトへの応答入力、必要なファイル名の生成、コマンドの出力結果に対する処理を繰り返し実行させる際に必要となるのが、特定の文字列が特定のパターンと一致しているかという確認作業であり、これこそがパターンマッチングと呼ばれているプロセスである。そしてシェルには、パターンマッチング用の様々な機能が用意されているのだ。 稿は最近出版された『Beginning Portable Shell Scripting』からの抜粋である。 パターンマッチングの機能はgrepやsedなど、多くのUnixユーティリティの形態で提供されている。通常この種のプログラムでは、正規

    シェルスクリプトで役立つテキスト文字列のパターンマッチングの基礎 | OSDN Magazine
  • Tracking software: find stolen laptops, phones & tablets | Prey

    Get peace of mind about your devices’ whereaboutsKnowing where your assets are at any given time remains crucial. Avoid losing information about your remote workforce. Use our persistent device tracking & security solution. Get STARTED

    Tracking software: find stolen laptops, phones & tablets | Prey
  • MacBookのターミナルの操作と設定 - ザリガニが見ていた...。

    OSX 10.5以降では、何もしなくてもターミナルは日語を表示してくれる。これまでデフォルト設定のまま問題なく使えていたので、無関心になりがちだった。でも、改めて操作方法や設定を調べ直すと、便利な操作や設定があることに気付かされる。そして、新たな操作や設定を知ることは、シェルやコマンドの仕組みを覚えることに繋がる。きっと、まだまだ自分の知らない多くの技が眠っているはず。 作業環境 MacBook OSX 10.6.2 bash $ bash --version GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0) Copyright (C) 2007 Free Software Foundation, Inc. ターミナルの操作 クリア command-K、あるいはcontrol-Lで、ターミナル画面のクリア。(ほぼ同

  • Filenames and Pathnames in Shell (bash, dash, ash, ksh, and so on): How to do it Correctly

    Filenames and Pathnames in Shell: How to do it Correctly David A. Wheeler 2023-08-23 (original version 2010-05-19) Many Bourne shell scripts (as run by bash, dash, ash, ksh, and so on) do not handle filenames and pathnames correctly on Unix-like/POSIX systems. Some shell programming books teach it wrongly, and even the POSIX standard sometimes gets it wrong. Thus, many shell scripts are buggy, lea

  • Bash For Loop Examples - nixCraft

    How do I use bash for loop to repeat certain task under Linux / UNIX operating system? How do I set infinite loops using for statement? How do I use three-parameter for loop control expression? A ‘for loop’ is a bash programming language statement which allows code to be repeatedly executed. A for loop is classified as an iteration statement i.e. it is the repetition of a process within a bash scr

    Bash For Loop Examples - nixCraft
  • いまさらxargsの便利さを主張してみる — ディノオープンラボラトリ

    タイトルの通りですが、xargsコマンドの便利さを紹介する記事を書いてみました。xargsは私が大好きなコマンドの一つで、標準入力から渡されたファイル名などを引数とみなして、別のコマンドの引数として起動するというものです。 例えばfindで見つけたファイルを全部削除したい場合、xargsなしでも下記のように書くことができます。

  • シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)

    プログラムの種類によっては、そのまま実行できるものと、実行できるようにするために「ビルド」が必要なものとがあります。Cなどのコンパイルが必要な言語で書かれたプログラムは当然ビルドが必要ですし、コンパイルが不要な言語であっても、インストーラパッケージを作るというビルド作業が必要な場合はあります。 ビルド作業の自動化のためのツールとしてmakeなどがありますが、そこまで格的な事をやる必要がない場合は、シェルスクリプトで「ビルドスクリプト」を作るのが手軽でおすすめです。この記事では、そのような場合に役立つシェルスクリプトのテクニックを4つご紹介します。 エラーの気付きやすさとデバッグのしやすさを高める メッセージに色を付ける シェル関数をライブラリにする 一時的に作業ディレクトリの中に入る エラーの気付きやすさとデバッグのしやすさを高める はじめに紹介するテクニックは問題が発生した時に気づきや

    シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)
  • Bash tips - LQWiki

  • シェル変数展開のまとめ – OpenGroove

    シェルにおける変数展開について。 変数展開{ }(ブレース)の中で各種文学列演算子を使い、変数の存在や値をチェック することができる。-,=,?,+演算子使用時に「:」を付加していれば値がヌルかどうか をチェックする。 省略された場合、値がヌルかどうかのチェックはせず、評価する変数が定義されて いるかどうかのみチェックする。 ${var:-str} シェル変数が未設定か値がヌルの場合、指定した値を返す。 この時変数varに値は代入されない。 $ echo ${animal} ←変数が未設定 $ echo ${animal:-cat} cat $ echo $animal ←変数は設定されていない ${var:=str} シェル変数が未設定か値がヌルの場合に指定した値を返し、さらに変数varに値が代入される。 $ echo $animal ←変数が未設定 $ echo ${animal:=d

    t2y-1979
    t2y-1979 2012/10/12
    よく忘れる
  • bashで人気言語アンケートサイトの結果をcsvに変換してみる - labunix の ラボゆにっくす

    ■元ネタ 参考:ハッカーニュース人気言語 http://d.hatena.ne.jp/karasuyamatengu/20120324/1332561697 ■家からデータ生成 $ w3m -dump 'http://news.ycombinator.com/item?id=3746692' | \ grep -B 1 "[0-9] points\$" | sed s/"^ *\|\[grayarrow\] \| points"//g > temp.txt ■CSV形式に変換 $ sed s/" "/"__"/g temp.txt | \ for list in `xargs`;do echo -ne "\"$list\",";done | \ sed s/"[0-9]\","/"&\n"/g | \ sed s/",\$"//g | \ sed s/"__"/" "/g >temp.c

    bashで人気言語アンケートサイトの結果をcsvに変換してみる - labunix の ラボゆにっくす
    t2y-1979
    t2y-1979 2012/03/25
    がんばってるなー
  • シェルスクリプトを書く際に気を付けていること8箇条 - カイワレの大冒険 Third

    エンジニアという職業柄かシェルスクリプトを書くことはちょくちょくあるのですが、自分なりに気を付けていることを備忘録&自分への戒めも含めて、簡単に書いてみたいと思います。 変数は大文字 シェルスクリプト書いていれば変数の出番は至るところであるでしょう。その際、可読性を増すように、変数は大文字を使っています。 RET=`cmd1`みたいに。好みの問題もあるでしょうが、分かりやすいので。 クオテーションは選ぶ クオテーションにはシングルだったり、ダブルだったり色々ありますが、使い分けておいたほうがよいでしょう。 変数の展開がないようであれば、シングルクオーテーションのほうがスマートでしょうし、展開があるのならダブルクオーテーションを使えばと。 ダブルクオーテーションを使うのにも意味があって、変数は「$RET」のようにクオテーションで囲まなくても動作はたいていするのですが、 echo "${RET

    シェルスクリプトを書く際に気を付けていること8箇条 - カイワレの大冒険 Third
    t2y-1979
    t2y-1979 2012/02/29
    進化してるな
  • USP友の会、日本 GNU AWK ユーザー会と友好団体に - USP友の会

    シェルでどこまでできるのか?みんなで世界にチャレンジしようUSP友の会は、日GNU AWKユーザ会と友好団体となりました。 今後、勉強会等をはじめとして、様々な交流を行う予定です。 その第1弾として、オープンソースカンファレンス2011 Tokyo/Fallにて、USP友の会、日GNU AWKユーザ会の共催でセミナーを行うこととなりました。 テキスト整形に威力を発揮し、根強いファンが多い「AWK」、大規模業務システムの構築などの事例が登場しにわかに注目を集めつつある「シェルスクリプト」。それぞれの使い手が舞台上にて火花を散らす、プログラミングバトル、と銘打ち、シェルとAWKの得意なところ、不得意なところを披露していこうと思います。 セミナーの事前お申し込みはこちらから。 どうぞお気軽にご参加ください!!

    t2y-1979
    t2y-1979 2011/11/01
    ほのぼの〜
  • bash: readとパイプと環境変数 | Webシステム開発/教育ソリューションのタイムインターメディア

    問題 シェル(ただし Bourne Shell 系に限る)はお友達です。 一見すると役に立たないように思えるコマンドでも、 組み合わせ次第で複雑な処理をこなすための道具になります。 例えば行毎に ID が記載されているファイル ids があったとしましょう。 各 ID を SHA1 ハッシュ値に置き換えたものが必要な場合、 以下のコマンドで生成することができます (SHA1 ハッシュ値の算出には shasum を使っています): cat ids | while read id do echo -n "$id" | shasum done | cut -d ' ' -f 1 >ids.sha1 このように、行単位で何か処理を行う場合には read を使います。 ちょっとしたことなら sed や awk で済ませられるのですが、 上記のように「行毎にコマンドを実行して云々」をやろうとすると無理

    bash: readとパイプと環境変数 | Webシステム開発/教育ソリューションのタイムインターメディア
    t2y-1979
    t2y-1979 2011/09/21
    採用試験の引っかけ問題に最適
  • 名前の一部からコマンドを検索する

    名前の一部からコマンドを検索する 端末で gedit ~/.bashrc して、一番下に次の関数を書いておくwhich2 () { [ -z "$1" ] && return find ${PATH//:/ } -maxdepth 1 -iwholename "*${1}*" -not -type d }終わったら新しい端末を開いて$ which2 hogeとすると、名前に「hoge」が付くコマンドが表示されます。コマンドの名前を一部しか思い出せない時に使うといいかも。$ which2 grep /usr/bin/xzgrep /usr/bin/xzegrep /usr/bin/migemo-grep /usr/bin/grep-changelog.emacs23 /usr/bin/msggrep /usr/bin/grep-changelog /usr/bin/imgrep /usr/b

    名前の一部からコマンドを検索する
    t2y-1979
    t2y-1979 2011/09/02
    んー