沢山のファイルの名前を変更したり、拡張子を変更する際には、シェル上での操作が便利なことがあります。この場合、ファイル名や拡張子、ファイル名から拡張子を取り除いたものを取得できると便利です。 basenameとdirnameの利用 MacOSやLinuxではbasenameコマンドやdirnameコマンドを利用すると、パス名からのファイル名の取り出しやパス名からのディレクトリ部分の取り出しが出来ます。この2つのコマンドの動作は
![bashの変数展開によるファイル名や拡張子の取得 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/19189b74cc6a19daae5024617a8bbe76e10fdaa4/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9YmFzaCVFMyU4MSVBRSVFNSVBNCU4OSVFNiU5NSVCMCVFNSVCMSU5NSVFOSU5NiU4QiVFMyU4MSVBQiVFMyU4MiU4OCVFMyU4MiU4QiVFMyU4MyU5NSVFMyU4MiVBMSVFMyU4MiVBNCVFMyU4MyVBQiVFNSU5MCU4RCVFMyU4MiU4NCVFNiU4QiVBMSVFNSVCQyVCNSVFNSVBRCU5MCVFMyU4MSVBRSVFNSU4RiU5NiVFNSVCRSU5NyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZGI1MWE4OWI1NmE1M2Y0ODkzMzI3YTNmMTNiMmJiNmM%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbXJpaG8mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTI2YjI0ODE3M2RjYjNhY2YwNTI3ZmM0MzI5MWJjOGQ1%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D33fa7cf573480ae191e3e5f5c1781a59)
ファイルだよ UNIX系のOSで使われるよ 出力先として指定すると何も起こらないし、入力元として指定しても何も入ってこないよ 簡単に書くよ /dev/nullとは UNIX系のOS(コンピュータの人格に相当するソフト)(Linuxとか)で使われるファイルのひとつ であり ブラックホールなファイル です。 もう少し真面目ぶって書くと 出力先として指定すると何も起こらないし、入力元として指定しても何も入ってこないファイル です。 「dev」ディレクトリの中の「null」ファイルで「/dev/null」です。 UNIX系のOSで使われるファイルで「な~んにもしたくないよ~」なときに指定されます。 まず予備知識として、UNIX系のOSでは「<」や「>」で入力元、出力先を指定できます。 例えば hoge.sh < aaa.txt と書くと「aaa.txtの中身を引数(入力元)にしてhoge.shを動
シェルで正規表現を使って引数の値とかチェックしたい。 一度やって忘れてたので記録しておく。 bashの場合 bashさんは正規表現比較方法があるので楽ちん if [[ "$INPUT" =~ ^[0-9]+$ ]]; then echo 'number!!'; fi bashさんかわいいよbashさん shの場合 基本的にbashは入ってるのでbashでいいと思うんだけど、 お作法的にshで書くことになってるとも思う もう古い考えな気がしないでもないけど shはbashのようにできない臭いのでexprでやってたっぽい if [ `expr "$INPUT" : "^[0-9]*$"` -gt 0 ]; then echo 'number!!' fi exprでマッチしている数を出して0と比較してる。 ただ、どうやらあんまり複雑なことはできないらしく {min, max}を使うことはできない
Build your very own .bash_profile bash preview HalloweenBash — bash — 80x24 Your Configuration short hostname : current dir basename (space) user $ 1.) Drag these into (Your Configuration) above date (Day Month Date) short hostname full hostname current shell jobs terminal device (newline) user shell name time (24h HH:MM:SS) time (12h HH:MM:SS) time (12h AM PM) time (24h HH:MM) bash version long b
bashの設定ファイルが多すぎて、混乱しました。 でも、ちょっと調べたら分かった(つもり)。 試しにアウトプットしてみます。 bashの設定ファイル こんなにあるみたいなんです。 /etc/profile ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc ~/.bash_logout /etc/profile ログインしたときに読み込まれます。 デフォルトの設定ファイルですね。 ~/.bash_profile ログインして/etc/profileの次に読み込まれる設定ファイル。 結構、大事なファイルみたいです。 ~/.bash_login ログインして~/.bash_profileが存在しない場合に読み込まれる。 Cシェルの.loginに由来します。 ~/.profile ログインして~/.bash_loginが存在しない場合に読み込まれ
macの環境変数の設定をしてたら無駄にはまったのでメモっておきます vi /etc/pathsで、出てくるものがあって、 これで環境変数が設定されているみたいなんですが、これは$PATHに限った設定なのかしら で、他の環境変数も使いたいし、一般的な設定の仕方は、 vi .bash_profileで設定をするようです。 上記コマンドをたたいて、ここに export PATH=$PATH:/Applications/android-sdk/toolsみたいに、書いて ターミナルで、 source ~/.bash_profileとたたけば、設定が読み込まれる それかターミナルさい起動するか(他のページではログインって言ってたんだけどなんだろう。) ちなみに、環境変数の設定を確認したいときは、 echo $PATHで確認できます。 viコマンド、vimになるんだけど、 そんなに使うコマンドもすくな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く