アーシの毎日インプット

毎日1つ以上学習する。学習した内容を公開する。を目標に自分のスキルアップを目指します。

linux

shellのif文中になにもしない

bashのシェル中でifの条件分岐を切ったとき、 中に処理を記載しないと書式的に正しくなく、異常終了してしまいます。 「≧」の処理を「<」に置き換えるなど、処理を書かない条件をなくししまう方法もあるのですが、周りのプログラムと整合性を取ったり、今後…

shellの絶対パス取得

shellを実行したとき、下記のシェルを実行した場所や実行方法で挙動が変わるのがちょっと嫌でした。 ・シェルの格納ディレクトリでそのシェルを実行したとき ・絶対パスでシェルを実行したとき ・関係ないディレクトリから相対パスでシェルを実行したとき こ…

sh -xでシェルをデバッグ

linuxでシェルを実行する場合、 sh -x <シェル名> で起動するとシェルのデバッグができます。 渡ってきた引数がどのように処理され、どの値とどの値による比較が行われたかなどがコンソール上にでてきます。 今まで知りませんでした。 知ってからはシェル…

sedで空白行を削除する

linux環境で空白行を削除(無視)する方法、sedを使う方法が簡単みたいです。 sed '/^$/d' 先頭記号"^"と終端記号"$"を削除する。 で行削除になるようです。 ex1.m-yabe.com ■ファイルに対して実行するなら sed '/^$/d' <ファイル名> ■ファイルの中身を書き…

xargsでワンライナーの幅が広がりそう

linux環境で実行できるコマンドxargs これを使うとワンライナーが捗りそうです。 www.atmarkit.co.jp www.atmarkit.co.jp linux環境で何かを捜査するときは、簡単なコマンドはワンライナーで、難しい処理はシェルを作成するのが私の基本ですが、xargsを利用…

bashの数値比較

shellを作る時によく書くif文ですが、条件に使う演算子がなかなか覚えられません。 覚えるためにここに書き記しておきます。 ■NUM1=NUM2であれば -eq:equalで覚えられそう if [ ${NUM1} -eq ${NUM2} ]; then # 処理 fi ■NUM1>NUM2であれば -gt:greater tha…

これって1ステップ?

プログラミングの仕事をしていると生産量をステップ数(コードを記載した行数)で評価されることが多々あります。 ステップ数では生産量も品質もわからないことはわかっていながら、他に指標がないので、生産している感じを出すために計測しています。この間…

シェルの拡張子

シェルの拡張子って.shだと思っていました。拡張子なしでも、他の拡張子でも、中身の記述がシェルなら動作するみたいです。よく考えたら、unix系のOSってファイル名でファイル種別を意識していませんし、当然といえば当然ですが。 (拡張子だけtarに変えてバ…

linuxでcsvカラム数を調べるのって

head -1 fileName.csv | sed 's/,/¥n/g' | wc -lのような感じで調べてしまうのですが、もっと簡単な方法はないんですかね?ちなみに、上記の方法では、カンマを改行に置換することにより、カラム数を行数という形で取得できめす。 行によってカラム数が変わ…

sedって改行コードを削除できない

linuxコマンドのお話です。sedという置換コマンドがあります。(ファイルを指定したりパイプで繋いだりなどの方法があるので)簡単に書くと、 sed 's/置換される文字列/置換後の文字列/g'正規表現も利用可能です。そんなsedという置換コマンドで、特定の文字…

【アーシの原点】

【頭を鍛える迷路集】


スポンサードリンク