タグ

2014年9月9日のブックマーク (5件)

  • findとxargsを利用してディレクトリ構造のみをコピーする

    iOS、AndroidIT技術等のまとめブログ。小さくても大きな効果を発揮する知的ツールの調査、開発結果を報告しています。 ディレクトリ内にあるファイルを無視して、ディレクトリのみをコピーする方法を検討して試しました。findコマンドでディレクトリのみを抽出したあと、それをパイプしてディレクトリを作る方法についてまとめました。 次のような構成のフォルダを想定します。 $ find 1 1 1/1.txt 1/2-1 1/2-1/2-1.txt 1/2-1/3 1/2-1/3/3.txt 1/2-2 1/2-2/2-2.txt 1/2-2/3-1 1/2-2/3-1/3-1.txt 1/2-2/3-2 1/2-2/3-2/3-2.txt この構成からディレクトリのみをtoフォルダへコピーすることを考えます。以下のコマンドではfromディレクトリのみをtoディレクトリ配下に作成しています。

  • ラベルや日付を維持したまま、フォルダ構造だけを複製する(Mac)&AppleScriptで放り込むだけで実行できるよ!

    ラベルや日付を維持したまま、フォルダ構造だけを複製する(Mac)&AppleScriptで放り込むだけで実行できるよ! たまーにあるんです。 深い階層のフォルダ構造だけ維持して、中身のファイルはいらない、って時が。 でApplescriptとか、shellでfindとか調べてたんですが、もっとカンタンなのがありました。 日付もラベルも維持したまま複製します! 以下のようなフォルダを作りました。ファイルが少し入ってますが、これは要らない。フォルダだけ欲しい。 ターミナルでコマンド一発です。 rsync -arE --include "*/" --exclude "*" コピー元フォルダ名 コピー先フォルダ名 たとえば、デスクトップにある「moto」フォルダ(上の画像)をフォルダのみコピーしたい場合 rsync -arE --include "*/" --exclude "*" ~/Deskt

    ラベルや日付を維持したまま、フォルダ構造だけを複製する(Mac)&AppleScriptで放り込むだけで実行できるよ!
  • bash 入門

    ユーザーの入力をカーネルに伝えまたその逆を行う、いわば両者の橋渡しを行うプログラムをシェルといいます。ユーザーから見てカーネルを包んでいる貝殻(shell)のように見えることからそう名付けられました。 シェルには多くの種類がありますが、Linuxにおけるデファクトスタンダードになっているbashについてどんな機能があるかを見ていきます。 補完 まず知っておきたい基的な機能が補完です。コマンドプロンプトでTabキーを押すことで、コマンド名やファイル名を補完することが出来ます。 $ ls abc1 abc2 def $ cat a[Tab] $ cat abc 確定できる部分までが補完されました。ここからさらに2回Tabキーを叩くと候補が表示されます。 $ cat abc[Tab][Tab] abc1 abc2 リダイレクト・パイプ リダイレクトとパイプという機能を理解するにはプロセスがどの

  • source 現環境(現在のシェル)でシェルスクリプトを実行する 逆引きLinuxコマンドリファレンス-モバイル開発系(K)

    複数の環境変数を設定するシェルスクリプトを書いていざ実行してみると、何度やっても環境変数が設定されないといった経験はないだろうか。 それもそのはず、シェルスクリプトが実行されるとき、別のシェルが新たに起動してそこで実行されているのである。シェルスクリプトが終了するとそれを起動した元のシェルに戻り、環境変数の設定や変更は全く反映されていない。 シェルスクリプトで現在の環境に対して環境変数の設定及び変更をするには、そのシェルスクリプトを現環境(現在のシェル)で実行する必要があるのだ。そのためにはsourceコマンドでシェルスクリプトを実行する必要がある。 [mobile@localhost mobile]$ source setenv.sh sourceコマンドの代わりに.(ピリオド)でも同じ結果が得られる。また、.bash_profileを書き換えたときにもsourceコマンドで実行すれば、

  • シェルスクリプトで環境変数を設定する

    LD_LIBRARY_PATHなど、いちいち設定するのが面倒な環境変数を、 シェルスクリプトに記述できたら便利です。 [env_set.sh] # 環境変数の設定 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/hoge さっそく、このシェルスクリプトを実行してみます。 $ ./env_set.sh $ echo $LD_LIBRARY_PATH $ …?。恐らく、シェルスクリプトで設定した内容は、反映されていないはずです。 通常、シェルの中で設定された環境変数は、そのシェルを抜けると消去されるためです。 シェルスクリプト内で設定した環境変数を、呼び出し元のシェルにも反映するためには、 次のようにしてシェルスクリプトを実行すればOKです。 $ source ./env_set.sh $ echo $LD_LIBRARY_PATH