Macに入っているsedはBSD版sedとかいうやつで、Linuxなどに入っているGNU版sedとは様々な点で仕様が異なります。 中でも引っかかりやすいのがファイル上書きオプションの-iについてです。あんまりちゃんと説明した記事が見当たらないのでまとめておきます。 以下のようなコマンドを実行すると、BSD sedでは意図通りに実行されません。 $ echo aaabbbcc > hoge.txt $ sed -i 's/aaa/zzz/' hoge.txt # BSD sed sed: 1: "hoge.txt": extra characters at the end of h command $ gsed -i 's/aaa/zzz/' hoge.txt # GNU sed $ cat hoge.txt zzzbbbcc
だいたい基本的にLinux前提で書かれている ググってよくみつかるのは以下のワンライナー grep -r hoge * | xargs sed -i "s/hoge/hufa/g" ハマってる話をあまり聞かない限りは、たぶんこれで基本的にできるんだろう。 Macだとsedがハマる そもそもMacのsedはBSD経由のsedらしくて、GNU版のsedとは違うらしい。だから -i オプションがつかえなかった。ということでbrewでgnu-sedいれた。port版もちゃんとあるらしい brew install gnu-sedコマンドは gesd になる。あとはgnu-sedなのでいつもどおりなsedが使える。と思う あるプロジェクト以下の文字列を一括変換したかった grep -rl hoge ./ | xargs gsed -e -i "s/hoge/hufa/g"できたし!!!! @xxxxx
シェルスクリプトであれば1行目に #!/bin/sh と書くと思うのですが、1行目の名前や挙動についてよく分かってなかったので調べてみました。 名前 シバン (Unix) - Wikipedia シバンまたはシェバン (shebang) とはUNIXのスクリプトの#!から始まる1行目のこと。起動してスクリプトを読み込むインタプリタを指定する。 hash-bangまたはsharp-bangとも言うが、後者を縮めたshebangという呼び方が一般的かつシンプルである。 シバンというのですね。 用語集:シェバング: UNIX/Linuxの部屋 この「#!」のことを「シェバング」(shebang) と呼ぶ。また、この行全体を「シェバング行」と呼ぶこともある。シェバングの語源は「sharp bang」「shell bang」など、いくつかあるようだ。 なぜ、#! なのか 用語集:シェバング: UNI
GNU/Linuxに慣れてると、よく打つtop/ps/netstatがOS X使ってるときにLinuxのそれと全然ちがう挙動で使いにくい。同じ挙動にするのman見ても無理そうなんで、なんとか同じように使えるのないか調べてみた。 top htopならLinuxとOS Xで同じように使えるのでhtopを使うとよさそう。 brew install htop-osx ps psのいい代替は見つからなかったけど、ps auxfのようにツリー表示したいときの代替はpstreeを使うとよさそう。 brew install pstree netstat netstatはnetstat -tnpaとかnetstat -tnplをよく使うけど、前者はlsof -nP -iTCP、後者はlsof -nP -iTCP -sTCP:LISTENで代替できそう。 $ sudo lsof -nP -i4TCP -sTC
Mac OS Xでは、Finderから確認できない不可視フォルダが多く存在します。そのため、Finderから確認できるファイル容量の合計とディスクの使用領域の間に数GBの差が生じますが、それは問題ありません。しかし、その差が10GBを超えていたり、使用中に「お使いの起動ディスクはほとんど一杯です」とエラーが出たがそんなに大きなデータを保存するような作業をした覚えはない等といった場合には、原因を特定する必要があります。ただ、Finderからは確認できない不可視フォルダに巨大なファイルが作成されるケースも多く、原因特定は容易ではありません。 このドキュメントには、原因特定に必要な操作をまとめています。問題解決の一助となれば幸いです。 [1] ゴミ箱を空にする ファイルやフォルダはゴミ箱に入れただけでは削除されないので、ゴミ箱にファイルが溜まっているようであれば「ゴミ箱を空にする」を実行する。
-rオプションや-dオプションで時刻を指定しない場合は、現在の時刻が設定される。また、-aオプションや-mオプションを指定しない場合は、更新日時・最終参照日時のすべてが設定される。 具体的には、以下のように指定する。 $ touch -a file1.txt ←最終参照日時を現在の日時に変更 $ touch -r file1.txt -m file2.txt ←更新日時をfile1.txtと同じに変更 $ touch -d "2 February 2002 10:00am" file1.txt ←更新・最終参照日時を2002年2月2日の午前10時に変更
CakePHP 1.3.4がリリースされた様なのでダウンロードしました。 それはそれとして、Macで何かダウンロードしたファイルを ls コマンドで見ると、パーミッションの右に謎の @ があります。 MacBookにMongoDBをセットアップしてみた。 - kanonjiの日記 でも軽く消し方を書いたんですが、その時とはちょっと変わったのでまとめます。 環境 Mac Mac OS X 10.5.8(Leopard) @ の正体 EA (Extended Attributes)とは Leopardの話に入る前に、Tigerで導入されたファイルリソース「EA (Extended Attributes)」について説明しておこう。ACL(Access Common List)もTigerからサポートされたが、デフォルトでは無効化されているため、ここでは省略する。 EAは、メタデータと総称されるフ
正直、サーバは分からないことだらけ。 いつものようにSSHでログインしようと思ったら、「ssh_exchange_identification: Connection closed by remote host」というエラーが出た。 調べてみたら、何のことはない、IP制御してるからです(「/etc/hosts.allow」このファイルを要編集)。 でもアクセスできないからどうしよーと思ったけれど、使っているのがWebARENA SuitePROv2だったので、たしか簡易コントロールパネルに設定できるところがあったなーと… 思った通り「SSHのアクセス制御」という画面があって、すぐにIPを追加できた。 念のため、編集ファイルについて覚え書き。 「/etc/hosts.allow」に許可するIPアドレスを以下のように記述(複数あるばあい、複数記述) sshd : [IPアドレス1] sshd
引数を処理する 引数とは? 引数 (ひきすう) とはコマンド (シェルスクリプト) 実行時に、コマンドラインから渡される値のことである。 引数は実行時にプログラム内で参照され、シェルスクリプトの実行結果 (動作) に影響を与える。引数はパラメータと呼ばれることもある。 → コマンド名に続けて引数としてコマンドに渡したい値のリストを指定する。 引数はコマンド名に続けてスペース区切りで指定する。引数として指定可能な値の数は各コマンドにより異なる。 【参考】 引数とオプション コマンド実行時に指定する値には引数とオプションがある。引数は実行に使用されるファイル名や出力されるメッセージなどを指定するのに使用される。 一方、オプションは -f などのように - (ハイフン) とアルファベット1文字で表記され、主にコマンドの振る舞い方を指定する目的で使用されるものである。 また、オプションは -a -
調べてみた。動作確認用のサーバは plackup で立てている。 app.psgi の中身は一番最後に。 --data (-d, --data-ascii) application/x-www-form-urlencoded 形式で POST する。 @/path/to/file のように value の先頭が @ ではじまっているとファイルを読み込んで改行文字を取り除く。パラメータや @ つきで指定したファイルの中身はすべて URL エンコードされていることが期待される。つまり curl(1) は URL エンコードしてくれない。 -d を複数回指定するとすべてのパラメータが & で連結される。 @ でファイルを指定する場合、 -d 'file=@sale.txt' のようにすると中身が展開されないので注意 (file=@sale.txt という文字列が渡される) $ curl -d '
404 error お探しのページは移動もしくは削除された可能性がございます。 The page has might be moved or deleted.
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "UNIX時間" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2020年1月) UNIX時間 1,000,000,000 まであとわずかの2001年9月9日 UNIX時間(ユニックスじかん)またはUNIX時刻(ユニックスじこく、UNIX time(ユニックスタイム)、POSIX time(ポジックスタイム))とはコンピューターシステム上での時刻表現の一種。協定世界時 (UTC) での1970年1月1日午前0時0分0秒(UNIXエポック)から形式的な経過秒数として表される。 真の経過秒数ではなく[1]、その間に挿入された閏秒を引き、削除
Linuxは1ディレクトリに大体ファイル数を 1万ファイル位(まあ大体5000ファイルでやめたほうが無難かな?) 溜め込めると聞いたのですが 1ディレクトリ内のディレクトリ数の制限はあるのでしょうか? 今、1ディレクトリ内に大体800ディレクトリ作成しようと 思っているのですが、大丈夫でしょうか?
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く