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

2013年04月13日01:30 カテゴリTipsiTech 私みたいなおっちょこちょいを自滅から救って来たちょいとした工夫x3+1 bashクックブック ぎゃああぁぁぁ 僕がMacのホームディレクトリを削除するに至った経緯と、復元するまでの道のり |CreativeStyle 具体的に何をしたのか。それは、以下のコマンドの実行です。 $ rm -rf ~/ でもこれ、すごいやりがち。 やりがちなのになんでそれよりおっちょこちょいなはずな私がもう30年近くものあいだ難を逃れているかを披露しておくことにする。 以下、それぞれtcsh版とbash版を。zsh版はどなたかよろしく。 alias 上記の例は、実はこれだけで防ぐことが出来ていた。 tcsh alias rm 'rm -i' bash alias rm='rm -i' 要するに、rmと打ったらrm -iを意味するようにしておくわけだ

コマンド $ echo -e '\e[VALUE[;VALUE..]mSTRINGS\e[m' VALUEText attributes 0 All attributes off 1 Bold on 4 Underscore (on monochrome display adapter only) 5Blink on 7 Reverse video on 8 Concealed on Foreground colors 30Black 31 Red 32Green 33 Yellow 34Blue 35 Magenta 36 Cyan 37 White Background colors 40Black 41 Red 42Green 43 Yellow 44Blue 45 Magenta 46 Cyan 47 White 使用例 " fuga fuga " という文字の色を
シェルスクリプト最大の罠:while問題 前回はシェルスクリプトプログラミングのコツの1つとして「アット・ア・グランス性」を紹介した。紹介の中でwhileが引き起こしやすい問題について触れたが、前回の説明だけではよく分からなかった方もいると思う。 今回はこの「while問題」に焦点を当て、シェルスクリプトプログラミングで最もはまりやすい問題を掘り下げて説明する。 whileとパイプの組み合わせで問題発生 次のシェルスクリプトを見てほしい。実行結果を予測してほしいのだが、おそらくほとんどの方が「標準出力にLinuxが出力される」と答えるだろう。

とあるWebエンジニアのそれなりのブログ、JavaScript/Node.js/Python/PHP/ゲーム作成 など
ないだろうと思いながらぐぐってみたら、 shUnit2 is a xUnit unit test framework for Bourne based shell scripts, andit is designed to work in asimilar manner to JUnit, PyUnit,etc. If you have ever had the desire to write a unit test for a shell script, shUnit2 can do the job.Google CodeArchive - Long-term storage forGoogle Code Project Hosting. あるじゃないか! とりあえず、動かしてみよ。 shunit2 をダウンロードして解凍して、 $ mkdir -p ~/Documents/
バージョン管理システム使ってますか? 最近、会社のリポジトリをSubversionからGitにがつがつ移行してます。Gitのブランチを使った Git Flowの考え方を浸透させるべく、反映ツールのGit対応などしております。 それと同時に、MyBikeJPプロジェクトは、Mercurialで管理を行っています。 微妙に似ているけど違う gitコマンドと hgコマンドに混乱しまくりで、先日、マージにミスって @key3 さんに迷惑かけちゃいました。 ということで、環境差異を吸収し、さらにミスが減って楽になるような aliasやシェル関数を設定しました。 ちなみに zshです。 Subversion svnでは、元々、.zshrc を id:sotarok さんのをベースにしていた関係でショートカットを知りました。 http://trac.nequal.jp/browser/public/do

このシェルスクリプトはいったい何をやっているのでしょう? これは誰が何を実行して、どうして画面に文字が表示されるのでしょうか? ふだんなにげなく使っているコマンドでも、少し深く突っ込んでみるとLinux(UNIX)の仕組みや特徴が見えてきます。 実はechoは、「bashの内部コマンド」の1つであり、bash自身によって実行されています。意外に思われた方も多いかもしれません。なぜなら「echo」は外部コマンドとしても存在する(通常は/bin/echo)からです。でも、普通に設定されたLinuxで実行されるechoはbashの内部コマンドのほうです。試しにやってみましょう。 上は“--version”という文字列をそのまま表示するだけですが、下は“--version”を「バージョンを表示しろ」というオプションと理解して、/bin/echoのバージョンを表示してます。 このように内部コマンドの

最近知って結構ショックを受けた。 touch hoge.txt と似たような機能。*1 $ > hoge.txt $ ls -l hoge.txt -rw-r--r-- 1 root root 0 Jul 10 03:15 hoge.txt lessでtail -f ができる。 $sudo less +F /var/log/messages SSHでリモートサーバに対して色々 リモート先のファイルをsortして比較。パスフレーズなしにするか、ssh-agentを使用するかしてください。 $ diff <(sort /home/user/.bashrc) <(ssh user@hostname "sort /home/user/.bashrc") リモートサーバのファイルを編集 $vimscp://user@hostname//home/user/.bashrc sambaのコマンドで
Bashで追加された拡張的な変数展開 † 変数の値を切り出す(${variable:offset}、${variable:offset:length}) † ${variable:offset:length}は、変数variableに代入されている値に対して、offset番目からlength分の文字列を切り出します。 最初の文字列が0番目です。lengthを省略すると最後までとして解釈します。 ■例1:変数VARの値の2番目から6個を切り出す。 $ VAR=0123456789 $ echo ${VAR:2:6} 234567 ■例2:offsetやlength部分には算術式を指定できます。 (5-2)番目から(1+3)個分切り出す。 $ VAR=0123456789 $ echo ${VAR:(5-2):(1+3)} 3456 合致する変数名を全て表示する。(${!prefix*})
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く