タグ

ProgrammingとShellに関するagwのブックマーク (293)

  • Frequently-Asked Questions about sed, the stream editor

    Archive-Name: editor-faq/sed Posting-Frequency: irregular Last-modified: 10 March 2003 Version: 015 URL: http://sed.sourceforge.net/sedfaq.html Maintainer: Eric Pement (pemente@northpark.edu) CONTENTS 1. GENERAL INFORMATION 1.1. Introduction - How this FAQ is organized 1.2. Latest version of the sed FAQ 1.3. FAQ revision information 1.4. How do I add a question/answer to the sed FAQ? 1.5. FAQ abbr

  • シェルスクリプトはエレガントでなければならない

    /bin/shの実体としてはash(dash)、bash、kshの採用例が多い。どのシェルもBourne shellの機能に加えて、拡張機能を提供する。 FreeBSDなどの*BSD系のOSは、ashを/bin/shとして使っている。ashはPOSIX.1(POSIX:2008)にいくらかのBSD拡張機能を取り込んだシェルだ。メモリをあまり消費せず、高速に動作し、ほかのライブラリに依存することが少ない。従って、rootやレスキューシステムのインタラクティブシェル、システムのシェルスクリプトといった場面で採用されている。 Mac OS Xはbashを/bin/shに採用している。FedoraやopenSUSEなどのLinuxディストリビューションもbashを/bin/shに採用している。LinuxディストリビューションでもUbuntuやDebian、Linux Mintなどは、高速に動作する

    シェルスクリプトはエレガントでなければならない
  • awk v.s. bashどっちが強い?@OSC2011Tokyo

    OSC2011 Tokyo/Fallで、日gnu awkユーザー会の斉藤さんと行ったプレゼンテーションです。awkとbashの馴れ合い、もとい、共存共栄がテーマです。Read less

    awk v.s. bashどっちが強い?@OSC2011Tokyo
  • Good night, Posterous

    Posterous Spaces is no longer available Thanks to all of my @posterous peeps. Y'all made this a crazy ride and it was an honor and pleasure working with all of y'all. Thanks to all of the users. Thanks to the academy. Nobody will read this.

  • 【コラム】Hello Worldコレクション (8) sed編 - 荒ワザを駆使して生まれるマニアックなHello World | エンタープライズ | マイコミジャーナル

    sedにおけるHello Worldの特殊事情 第8回は、sedを使ったHello Worldです。sedは来、標準入力(または引数指定のファイル)から1行ずつ読み込み、正規表現による文字列の置換などの処理を施して標準出力に出力するという、ストリームエディタです。したがって、そもそもsedはHello Worldのプログラムにはあまり馴染みません。また、sedにはawkでいうところのBEGIN{}に相当する部分がなく、入力データがまったくない状態では処理が開始されません。このため、sedでHello Worldのプログラムを作るには、何らかのダミーデータの入力が必要になります。 そこで、まずは「#!/bin/sed」で始まるsedスクリプトを記述するのではなく、「#!/bin/sh」で始まる普通のシェルスクリプトを記述し、そのシェルスクリプトの中からsedを起動する方式でHello Wo

  • UNIX & Linux コマンド・シェルスクリプト リファレンス

    目次 当サイトについて bash シェルスクリプト入門 -シェルスクリプトのいろは- コマンド Tips シェルスクリプト Tips 変数を使用する 配列を使用する 入力と出力 if 文と test コマンド for 文の使用方法 while 文の使用方法 case 文の使用方法 関数の使用方法 引数を処理する 終了ステータス シグナルと trap コマンド フィルタを使用した文字列操作 1 フィルタを使用した文字列操作 2 日付を取得する 文字コードと改行コード シェルスクリプトのデバッグ AWK リファレンス (Deprecated) シェルスクリプト ライブラリ 『ether.sh』 お知らせ Bluesky を始めました @sunone.me 変更履歴 2023.10.07 ページ内リンクを修正した。 2021.02.01 このサイトに「もう 1 ページ追加しよう」と思ってから、も

    UNIX & Linux コマンド・シェルスクリプト リファレンス
  • sed

  • sed, a stream editor

    GNU sed This file documents version 4.8 of GNU sed, a stream editor. Copyright © 1998–2020 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A

  • sedにおける改行の表現とシェルの複数行入力 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    んもう、毎度忘れること; sedで改行を表現するには、バックスラッシュに続けてホントに改行を入れるのです >自分。 # コロンを改行に置換する s/:/\ /g 何度、s/:/\n/g と書いたことか。 コマンドラインから使うときは、シェルが「"」「'」「`」など引用符の開き閉じを認識しているので、引用符内で改行しても第二プロンプト($PS2)が出て、コマンドライン入力を続けられます。よって、引用符内ならホントの改行もOK。 $ echo $PATH | sed -e 's/:/\ > /g' | less

    sedにおける改行の表現とシェルの複数行入力 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • hollyなblog:rsyncで特定のファイルだけ転送する

    rsyncで特定のファイル、ディレクトリを除外して転送は--excludeオプションを指定すれば、事足りるんだけど、いくつかのディレクトリとかファイルとかだけ転送させたい。なんてことがあったりする。あんまり情報がないので、とりあえず書いとく。 よくあるのだと全てのディレクトリ、ファイル毎日rsyncしつつ、特定のディレクトリはバックアップを取らないみたいのが多いと思う # /backupにごっそりバックアップ。けど特定のディレクトリは除外 rsync -av -H --delete --force --exclude="/backup/" --exclude="/dev/" --exclude="/proc/" --exclude="/sys/" / /backup # とかリモートのサーバにバックアップとか rsync -avz -H --delete --force --exclude

  • 【 位置パラメータ 】

    コマンドやシェル・スクリプトを実行する場合に,コマンド名などの後に文字などを指定して,コマンドにその値を渡すことができる。この値のことを引数と呼ぶ。たとえば,cpコマンドでは, のようにして,src_fileとdist_fileの2つの値を引数として渡している。 シェル・スクリプト内ではこの引数を,「位置パラメータ」と呼ぶ特殊な変数に代入している。位置パラメータは「$0」から「$9」の10個用意されている。「$0」には実行したコマンドやシェル・スクリプトそのものが代入され,$1から$9には引数が指定された順に代入される。 たとえば,以下のようなシェル・スクリプト「arg.sh」があったとする。

    【 位置パラメータ 】
  • シェルスクリプトの基本テクニックを盗め!

    1. はじめに 稿では、実際に活用されているシェルスクリプトを取り上げ、シェルスクリプトを作成する際のいくつかのテクニックを紹介します。どれも基的で応用範囲の広いテクニックなので、多くの読者に参考にしていただければと思います。 2. シェルスクリプト サーバ運用にしろ業務システム運用にしろ、LinuxやFreeBSDといったUNIX系OSを活用する場合、ツールとしてのシェルスクリプトは欠かせない存在です。いかにして建設的に手を抜きつつ、処理を自動化して効率化を達成できるかどうかは、シェルスクリプトの活用いかんにかかっていると言ってもいいでしょう。 もちろんそれはシェルスクリプトに限らず、ほかのプログラミング言語でも問題ありません。シェルスクリプトと他のプログラミング言語を比べた場合、シェルで使っているコマンドをそのまま使えることが、シェルスクリプトの最大の特徴であり利点です。 他人が作

    シェルスクリプトの基本テクニックを盗め!
  • シェルの変数に慣れる

    ユーザー定義変数の使い方 変数は、シェルの世界、とくに英語のドキュメントでは「パラメータ」と呼ばれていますが、日語でパラメータというとどうも違う意味にとられがちなので、ここでは「変数」と呼ことにしたいと思います。ではシェルスクリプトにおける「変数」の取扱と特徴について見ていくことにしましょう。 シェルやシェルスクリプトで変数を定義する場合は、 のように記述します。とくに前もって変数を宣言したりする必要はありません(宣言することもできますが)。‘=’の両側にスペースをあけたりしてはいけません。C言語などの変数代入などの際にスペースをあける癖のある方は気をつけてください。 格納された値を参照する場合は、変数の先頭に‘$’をつけます。ためしにechoを使って標準出力に変数を表示してみます。

    シェルの変数に慣れる
    agw
    agw 2010/10/15
    bashの変数について。
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    agw
    agw 2010/10/15
    bashの組み込み変数等。
  • Linuxの使い方 - シェルスクリプトの作り方(3/8)

    6. シェルスクリプトの作り方(3/8) 6.4 位置パラメータ(引数の取り扱い) UNIX系OSのコマンドは引数としてオプションやパス名を指定できますが、シェルスクリプトでも同じように引数を指定できます。引数で指定した値はシェルスクリプト中では位置パラメータとして受け取ります。位置パラメータは前述した通り、1〜nの数字で表し、$n又は${n}の形式で値を参照します。 位置パラメータと関連する特殊パラメータには次のものがあります。 【表6-9】特殊パラメータ一覧 変数内容

    agw
    agw 2010/10/15
    shの配列相当の変数について。コンパクトにまとまっていて、読みやすい。
  • コマンド:dd: UNIX/Linuxの部屋

    最終更新 2019-01-03 dd コマンドは入力から出力へデータをコピーするコマンドである。cp コマンドはファイルからファイルにコピーするだけであるが、dd コマンドはファイルからデバイス、デバイスからファイル、デバイスからデバイスへのコピーも可能なため、ディスクのバックアップやダンプにも使用できる。

    コマンド:dd: UNIX/Linuxの部屋
  • ps aux | grep hogehoge で grep プロセスを出さない方法 -

    友人にクイズで出されてわからなかったのだが、 $ ps aux | grep init root 1 0.0 0.0 23820 2016 ? Ss 03:02 0:00 /sbin/init account1 3154 0.0 0.0 7176 1016 pts/0 S+ 14:17 0:00 grep init となるが、どうやって grep プロセスが表示に含まれるのを除去するか。もちろん ps aux | grep init | grep -v grep とかでもよいが、grep 1回で済ますには・・・? $ ps aux | grep '[i]nit' root 1 0.0 0.0 23820 2016 ? Ss 03:02 0:00 /sbin/init 衝撃を受けました。 追記 pgrep -lf init という技も教えてもらいました。 追記2 $ touch init $

    ps aux | grep hogehoge で grep プロセスを出さない方法 -
    agw
    agw 2010/07/07
    出題者。
  •  LinuxのZipコマンドにおいてディレクトリごと圧縮する際、zip -r test.zip ./data/test のようにすると、test.zipの中が/data/test/*という構造で圧縮されます…

    LinuxZipコマンドにおいてディレクトリごと圧縮する際、zip -r test.zip ./data/test のようにすると、test.zipの中が/data/test/*という構造で圧縮されます。 この時、カレントディレクトリを移動することなく、test.zipの中身が/test/*という 構造となるように圧縮することはできないものでしょうか?

  • 【レビュー】シェルやシェルスクリプトで乱数を使う2つの方法 | エンタープライズ | マイコミジャーナル

    The main aim is to document the hurdles that most of us face as UNIX/Linux/BSD sys admin in our day today life. シェルまたはシェルスクリプトで乱数を使いたいと思うことが時々ある。コマンドをまとめていくという軽い利用を越えて、プログラミング的な要素が強くなってくる場合にはそうした要求がでてくる。しかしシェルスクリプトは一般的なプログラミング言語ではないため、乱数を生成するような関数は提供されていない。 シェルやシェルスクリプトで乱数を使う方法はいくつかあるが、Bash Shell Generate Random Numbers - nixCraftにおいて紹介されている2つの方法が、ひとつは簡単な方法、もうひとつはシェルに左右されにくい互換性の高い方法として興味深い。紹介されている

  • システム統合にSOA? RDBMS? bashで十分! - @IT

    2009/09/07 毎年夏に開催される軽量プログラミング言語(LL:Lightweight Language)をテーマにした「LLイベント」。第7回目となる「LLTV」が、2009年8月29日に東京・中野で開催された。この記事ではプログラムの一部、「大改善!!劇的ビフォーアフター」をレポートする。前編では、Rubyによるfortuneコマンドの“増築”と、Firefox拡張によるslコマンドの実装というネタ系発表をレポートした。中編ではC言語にLisp風のマクロを取り入れ、lsコマンドのソースコードを約半分に削減する匠の技をレポートした。後編となる記事では、売り場業務が滞りがちだった販売管理システムをbashコマンドで“建て直した”という劇的ビフォーアフターの発表をレポートする。 DBを捨ててテキストファイルに変換 「100万件ぐらいの検索なら、シェルだけでも1000分の数秒でできます