Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

shellに関するpapiroのブックマーク (144)

  • 続・ラフなラボ – シェルスクリプトが '> $logfile 2>&1' だらけにならなくて済んだ話

    ※ 2014-04-26 追記並びに一部コマンド部分の修正を行いました。( > => >> に変更 ) 個人用のチラシの裏のつもりが予想以上に反響いただいていたようで非常にびっくりしております。 ちょっとしたバッチ処理的なものはさくっとシェルスクリプトでやっています。 で、ログをとっておくべくリダイレクトを噛ますわけですが、 スマートに書く方法を調べたのでメモ。 元ネタは @sechiro さんの bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する でございます。 当に参考になりました。ありがとうございます。 今までは こんなことやってたわけです。 #!/bin/bash LOGFILE=/tmp/script-log command1 >> $LOGFILE 2>&1 command2 >> $LOGFILE 2>&1 ... >> $LOGFILE 2>&1

    papiro
    papiro 2014/10/27
    execで出力先変更はシェルの得意技
  • seq - まとめドキュメント - 試験運用中なLinux備忘録・別館

    (1から指定された値までの連番を生成) seq [最大値] (指定された範囲の連番を生成) seq [最小値] [最大値] (範囲と値ごとの差を指定) seq [最小値] [増加幅] [最大値] seq [最大値] -[減少幅] [最小値] (桁合わせ指定) seq -w ... (フォーマット指定) seq -f [フォーマット文字列] ... (区切り文字列指定) seq -s [区切り文字列] ... 値の範囲を指定することで連番のテキストデータを得ることができる。 フォーマット文字列は整数の「%g」と浮動小数点数の「%f」を基とし、出力したいフォーマットによって調整することもできる。 $ seq -f http://www.example.com/img/%02g.jpg 10 http://www.example.com/img/01.jpg http://www.exampl

    papiro
    papiro 2014/10/13
    seqを使った連番処理、便利。
  • seq で 0 padding した数字列を作る

    Linux の seq コマンドは、シンプルな数列を作ってくれる。例えば、1 から 10 までの数字を表示させるには次のやうにする。 $ seq 10 1 2 3 4 5 6 7 8 9 10 途中の数字から始めたい場合は、その数字を第一引数にとる。5 から 10 までの数字列を得る場合の例は次の通り。 $ seq 5 10 5 6 7 8 9 10 このコマンドを何に使うのかというと、shell script の中で連番ファイルを作成するのに活用する。例えば、こんな感じ。 #!/bin/bash for i in `seq 10`; do echo $i.jpg done echo コマンドの代わりに、wget を使えば、連番ファイルのダウンロード。touch コマンドを使えば、連番ファイルの作成。etc... さて、10 個以上の連番ファイルを作る場合、0 パディングを加えておくと便利

    papiro
    papiro 2014/10/13
    seqコマンドは0でpaddingした文字列を簡単に作ることが出来る
  • #危険シェル芸ステッカーあげるよキャンペーン

    上田さんが #危険シェル芸 で盛り上がっている。夏だし暑くてみんな頭がやられているのではないか。 【試さないで】危険シェル芸【違法(脱法)シェル芸を勧められたり、 身近な人が持っていたりしませんか?】 そういえば、私も去年暇なときに forkbombステッカーを作っていた。 iPhoneケースにぴったりのかわいいやつです。 大量に余っているので以下URLより個人情報を送ってくれたら、先着10名様ぐらいに3枚セットでさしあげます。 危険シェル芸ステッカーほしい (受付は終了しました) どこに貼ったのかあとで写真を送ってくれるとうれしいです。 # いただいた個人情報はステッカーの発送のみに使います。

    #危険シェル芸ステッカーあげるよキャンペーン
  • 3の倍数と3が付く数字の時だけ世界のナベアツになります。 - 7010onCajonの日記

    3の倍数と3が付く数字の時だけ世界のナベアツになります。 ただのFizzBuzzです。Shellだとかなり簡単だったり。 世界のナベアツ by Shell 数え上げて、剰余算して、置換して。 seq 1 100 | gawk '{print $1%3==0?"おもろー!":$1}' | sed "s/.*3.*/おもろー!/g" 1 2 おもろー! 4 5 おもろー! 7 8 おもろー! 10 11 おもろー! おもろー! 14 おもろー! 16 17 おもろー! 19 20 おもろー! 22 おもろー! おもろー! 25 26 おもろー! 28 29 おもろー! おもろー! おもろー! おもろー! おもろー! おもろー! おもろー! おもろー! おもろー! おもろー! 40 41 おもろー! おもろー! 44 おもろー! 46 47 おもろー! 49 50 おもろー! 52 おもろー!

    3の倍数と3が付く数字の時だけ世界のナベアツになります。 - 7010onCajonの日記
  • 無効なURLです

    無効なURLです。 プログラム設定の反映待ちである可能性があります。 しばらく時間をおいて再度アクセスをお試しください。

    papiro
    papiro 2014/08/22
    やるなよ!絶対やるなよ!!
  • シェル芸 - アンサイクロペディア

    シェル芸 (- げい) とは、現代においてもっとも過激と目されるCLIワンライナー原理主義の一派。武田久美子を教祖とし、夏になると信者は女も男も老いも若きも貝がらビキニで海辺をホーミタイする危険な思想である。 起源[編集] シェル芸の発祥は古く、なつやすみの感想文や学部レポートの執筆時に文字数稼ぎをねらった学生たちが、「~と考えられるが~つまり~とはいえ~」と、順接・逆接の接続詞を多用して一文を長引かせたことに由来する。 このようなデキの悪い学生が大学に進学し、UNIX系OSを触らせられると「パイプでコマンドつないだりxargs使うとカッコよくね?」と厨二病を発症してしまい、そのまま研究室に居座ったりすることでさらに悪化するとシェル芸信者となる。 現在[編集] GUIを搭載したLinuxディストリビューションのような似非UNIXの普及により、シェル芸はいったん廃れたかに見えた。しかし、20

    シェル芸 - アンサイクロペディア
    papiro
    papiro 2014/08/12
    シェル芸怖い・・・
  • 知識商人登場!當仲寛哲の巻[第1回 中内功氏との出会い] | コンピュータ・リテラシー研究会

    商人舎と商人ねっとのコラボ企画「CDオーディオセミナー『知識商人』対談シリーズ」。 業界のトップとの対談を音でお届けする好評シリーズに、 コンピュータリテラシー研究会の座長の當仲寛哲さんが登場しました。 来は、知識商人対談ブログコーナーでご紹介すべきところですが、 何しろ、研究会の座長の人柄がわかる話でもあり、情報システムをメーンに話が進みますので、 このコーナーで、じっくりと連載していきます。 情報システムとは何かが、実によくわかる対談です。<事務局> 知識商人 VOL.10 「情に報いる仕組みを作る」 ユニバーサル・シェル・プログラミング研究所 代表取締役 當仲 寛哲 氏 ****************************************************************** 結城義晴: 皆さん、こんにちは。商人舎の結城義晴です。 毎月みなさんにお送りし

  • 「大事なのは情報の自由度です」~當仲寛哲氏・ユニバーサル・シェル・プログラミング研究所 代表取締役所長

    UNIXのシェルスクリプトを使って、大量データを高速で処理する開発手法が流通業などで利用されている。この「ユニケージ開発手法」を提唱するユニバーサル・シェル・プログラミング研究所の當仲寛哲代表取締役所長は、自らプログラムを書く人物だが、もともとはスーパーのダイエー社員でコンピュータとは無縁、コマンドやシェルスクリプトなどはまったく知らなかった。 情報システムの世界に入るきっかけは、衣料品の改革プロジェクトに呼ばれたことだった。当時のダイエーでは紳士服の販売が好調だったが、それが悪くなりかけた時期だった。店舗や商品部の聞き取り調査をしていく間に「それぞれの意見がバラバラ」なことに気づいた。 人は自分が見たものや経験したものを基準に意見を言う。会社が大きくなればなるほど、分業になり経験範囲が限られるため、意見がバラバラになってしまう。根拠が違うから結論も違う。方向性を合わせていくのは大変だ。

    「大事なのは情報の自由度です」~當仲寛哲氏・ユニバーサル・シェル・プログラミング研究所 代表取締役所長
  • コマンド:xargs: UNIX/Linuxの部屋

    最終更新 2019-01-26 UNIX/Linux の xargs コマンドは、標準入力から受け取った文字列を、コマンドの引数として指定できるコマンドである。コマンドライン文字列が長すぎるエラーを回避に使用する。また、xargs の実装によっては並列実行して処理を高速化させることができる。

    コマンド:xargs: UNIX/Linuxの部屋
  • Talpa memorandum

    橘玲の『「読まなくてもいい」の読書案内』を読んだので、感想とメモをまとめておく。 この、タイトルは『「読まなくてもいい」の読書案内』だが、実際には「読まなくていい」はほとんど紹介されていない。紹介されているのは、当たり前の話かもしれないが読むべきだ。他の読書案内と異なっているのは、”こういうは読まなくて良い”と、ばっさり切り捨てているところ。読むべきか・読まなくてもよいかの基準は、20世紀後半に爆発的に進歩した科学研究の成果に置いている。著者は、この時期に起きた科学研究の大幅な進歩を”知のビッグバン”、”知のパラダイム転換”と呼び、これ以前に書かれたは(とりあえず)読む必要がないと言い切る。古いパラダイムで書かれたは捨てて、新しいパラダイムで書かれたを読もうという話だ。ちょっと乱暴な分け方ではあるが、1980年代に大学生だった私には案外納得できるものだった。学生時代に最

  • 「スマートな紳士のためのシェルスクリプト」関連の最新 ニュース・レビュー・解説 記事 まとめ - ITmedia Keywords

    スマートな紳士のためのシェルスクリプト(8): シェルスクリプト最大の罠、while問題 シェルスクリプトプログラミングに取り組むときに最もはまりやすい問題、それが「while問題」だ。今回はその原因を掘り下げてみよう。(編集部)(2012/9/14) スマートな紳士のためのシェルスクリプト(7): 「アット・ア・グランス性」確保のための8つの原則 シェルスクリプトで読みやすく、後から変更しやすいプログラミングを行うには、手続き型のプログラミング言語とは違ったポイントを押さえなくてはならない。筆者はそのコツを「アット・ア・グランス性」と表現している。(編集部)(2012/8/17) スマートな紳士のためのシェルスクリプト(6): あなたの知らない>|と<>の使い方 >や>>、>&といったひんぱんに使われるリダイレクトに対し、ほとんど使われることのないリダイレクトが>|と<>だ。実際には興味

  • Snow Leopard時代のパス管理術 - builder by ZDNet Japan

    日々の修練に「パス」は重要……といっても球技ではなく、コマンドサーチパスの話。この設定を忘れると、ビギナーは使いたいコマンドが見つからずに泣き、パワーユーザーは舌打ちしつつ~/.profileや~/.bashrcあたりをイジることになる。 そのコマンドサーチパス、OS XではLeopardのときに改良されている。PATH環境変数が参照されることは、UNIXの流儀そのままだが、新設された「/usr/libexec/path_helper」コマンドを使うことで、管理を単純化したのだ。なお、このpath_helperコマンドはLeopard当時シェルスクリプトだったが、Snow Leopardの現在ではバイナリ化されている。 このpath_helperは、実行されると/etc/pathsの内容を読み込み、PATH環境変数に設定する。そのためLeopard以降のシステムでは、どのようにシェルが起動

    Snow Leopard時代のパス管理術 - builder by ZDNet Japan
  • joinコマンドが便利過ぎて生きるのが辛い - Y's note

    Linuxシステムプログラミング 作者: Robert Love,ロバートラブ,千住治郎出版社/メーカー: オライリージャパン発売日: 2008/04/16メディア: 大型購入: 5人 クリック: 181回この商品を含むブログ (29件) を見る 結合 Unix/Linuxの標準コマンドで2つのファイルの共通keyで連結することができます。共通keyでの結合にはjoinコマンドを利用します。joinによりSQLのinner joinに近いことがコマンドだけで出来てしまいます。今までテキスト処理をコマンドで行う事が少なかったのでjoinの活用方法を知りませんでしたが、今回調べた内容を記録します。似たコマンドとしてpasteというものもあり、こちらは同じ行数の内容を単純に結合します。そちらについても簡単に紹介します。 join join前にsort joinコマンドを利用する場合は2つのファ

    joinコマンドが便利過ぎて生きるのが辛い - Y's note
  • 使いやすいシェルスクリプトを書く

    できればシェルスクリプトなんて書きたくないんだけど,まだまだ書く機会は多い.シェル芸やワンライナーのような凝ったことではなく,他のひとが使いやすいシェルスクリプトを書くために自分が実践していることをまとめておく. ヘルプメッセージ 書いてるシェルスクリプトが使い捨てではなく何度も使うものである場合は,体を書き始める前に,そのスクリプトの使い方を表示するusage関数を書いてしまう. これを書いておくと,後々チームへ共有がしやすくなる.とりあえずusage見てくださいと言える.また,あらかじめ書くことで,単なるシェルスクリプトであっても自分の中で動作を整理してから書き始めることができる.関数として書くのは,usageを表示してあげるとよい場面がいくつかあり,使い回すことができるため. 以下のように書く. function usage { cat <<EOF $(basename ${0})

  • Linuxコマンドでテキストデータを自在に操る - じっくりコトコト煮込んだみかん

    Linuxでテキストデータを扱うときに、コマンドをパイプで繋げるだけでいろいろな処理ができて面白いのですが、綺麗に整理されていない気がするのでまとめてみます。ここでは、cat, paste, join, grep, head, tail, cut, awk, sed, tr, sort, uniq, wc を取り上げます。 ファイルを縦に結合 ファイルを縦に結合します。 コマンド 説明 cat file1 file2 ... file1, file2, ... を縦に結合 cat file | ... としてファイルの中身をパイプに流すのにもよく使います。 ファイルを横に結合 ファイルを横に結合します。あまり使わない?*1 コマンド 説明 paste file1 file2 .. file1, file2, ... を横に結合 join file1 file2 file1 と file2

    Linuxコマンドでテキストデータを自在に操る - じっくりコトコト煮込んだみかん
  • sudoでリダイレクトしてファイルを書き換えるとか - Lism.in * blog - nekoya (id:studio-m)

    LVSの設定するのにIP forwardを変更する必要があって、それを変更するのに、 sudo echo '1' > /proc/sys/net/ipv4/ip_forwardとかやろうとしたけど、リダイレクトがroot権限で動いてくれなくて上手くいかない。こういう場合は、 echo '1' | sudo tee /proc/sys/net/ipv4/ip_forward sudo sh -c "echo '1' > /proc/sys/net/ipv4/ip_forward"のどちらかでやるといいらしい。個人的には何となく上の方が好み。書き込み権限が無い場合はこうやればいいのか。 ※追記:ごめんなさい。上のコマンド例の下の方「sudo su -c」と書いてました。suじゃなくてshです。sudo suとかしちゃいかんです。 あと、IP forwardする場合は、/etc/sysctl.c

    sudoでリダイレクトしてファイルを書き換えるとか - Lism.in * blog - nekoya (id:studio-m)
    papiro
    papiro 2013/10/23
    sudoでリダイレクトする時に注意
  • USP研究所 | ユニバーサル・シェル・プログラミング研究所

    USP研究所は、標準的でユニークな技術「ユニケージ」で情報システムに関する様々な問題・課題を根から解決します。

    USP研究所 | ユニバーサル・シェル・プログラミング研究所
  • UEC - UNIXを深く理解し、シェルプログラミングを極めるコミュニティサイト

  • getoptsコマンドでオプションを使ったシェルプログラミングは楽しい♪ | SONICMOOV LAB

    こぬつわ。 ほってぃ~ぬです┌(┌ ┌ ┌ ┌ ^ω^)」 ソーシャルアプリ事業部でエンジニアをやっています。 今回はぼくが記事を書く順番という事で、 今まで写メってきた秘伝のねこ画像を掲載しようとしましたが 【もっと知的な内容の記事を書け!】とブログ管理者に怒られましたので シェルプログラミングの事でも書こうと思います。 あとでブログ管理者の自宅サーバにDOS攻撃でも仕掛けてやろうかしら(プンプン。 シェルプログラミングは当に楽しいです。 知ってるかも知れませんが getoptsコマンドでオプションを取り扱う方法を紹介したいと思います。 簡単な書式としては getopts 【許可するオプション】 【任意の変数名】 許可するオプションが複数ある際はスペースを開けずに並べて書き、 オプションの引数を取得する場合は : を続けて書きます。 例えば -aオプションと -bオプションを受け取りた

    getoptsコマンドでオプションを使ったシェルプログラミングは楽しい♪ | SONICMOOV LAB
    papiro
    papiro 2013/02/24
    getopts使った場合はサブシェルで実行したほうがいいかも。