02/07/17 08:42
ところで、最近の(と言ってもだいぶ古いが) *BSD の rmdir には -p オプション
なんて言うけったいな物があるが、あれが使えて嬉しい人っている?
「mkdir -p a/b/c」 で、一発で深いディレクトリ階層を作れるのの逆で、
「rmdir -p a/b/c」とすると一発で消せるというんだけど、
・ a/b/x とか a/x とかのディレクトリがあると途中までしか消えない
・ a や a/b に自分がいると消えないので、pwd で確認しないといけない
(絶対パスで指定した場合)
・ b/c を消して a だけ残すことができない。 csh なら
pushd a ; rmdir -p b/c ; popd という手があるが打鍵数が多すぎ。
という使いづらさがある。
そして、ディレクトリだけからなる巨大ツリーを一発で消したい時に
全然役に立たない。「rmdir に -r オプションがあればいいのに」と
いつも思いつつ、find a -type d delete として消している…。
112:名無しさん@お腹いっぱい。
02/07/17 08:54
>>111
-pはSUSにも入ってるから、使えなくてもインプリメントしたんだと思われ。
> find a -type d delete として消している…。
これだとrm -rと同じじゃん。
find -d a -type d -empty -deleteでないと。
113:名無しさん@お腹いっぱい。
02/11/25 18:39
よく「Ctrl」+「S」押しちゃうんだけどVIでそれやると固まっちゃう上にファイルがクリアされちゃう・・
本見てもこんなコマンドはないし・・・
これってなんなの? 解除する方法ってないの?(T.T)
114:名無しさん@お腹いっぱい。
02/11/25 18:44
それとコマンドラインオプションとの間に何か関係が?
115:名無しさん@Emacs
02/11/25 18:44
C-q か?
116:名無しさん@お腹いっぱい。
02/11/25 18:53
コマンドラインオプションを補完できればいいんじゃない?
-Pとかだとわかんないから、各オプション毎に長い名前を
別名で割り当てておく。
cp 補完と打つと、長い方のオプション名がずらーと出てくる。
ね。そうしなさいよ。>1
コマンド名自体を長い名前にするなんて発想は頭悪すぎだよ。
117:名無しさん@お腹いっぱい。
02/11/25 18:59
>>115
わーい、できたー。ありがとうございましたー(^O^)
>>114
初心者がスレ勝手に立てるのもなんだったのでコマンド繋がりということでここで聞きました。(^^;)
118:名無しさん@お腹いっぱい。
02/11/25 19:07
>>104
メモリ使用量だけじゃよくわからんなあ うんうん
いろいろあるんで
119:名無しさん@お腹いっぱい。
02/11/25 19:15
>>116 zshで出来たような気がする。使ったことがないから知らん。
漏れはmintの補完(ロングオプションの補完)の元ネタがzshだったような。
120:名無しさん@お腹いっぱい。
02/11/25 20:41
>>119
mintなつかしー!
mintって、unixツールを組み合わせることを利点とした
ファイラーだったよね。
すきだったのになー
121:名無しさん@お腹いっぱい。
02/11/26 19:56
XMiNT のことじゃないのか...
122:名無しさん@お腹いっぱい。
02/11/26 21:50
>>91
良く
find . -user aitsu | xargs chown -h koitsu
とかするけど、ファイル名に空白があるとだめなんだけど
うまいやり方ある?
123:名無しさん@Emacs
02/11/26 21:52
-exec
124:名無しさん@お腹いっぱい。
02/11/26 21:52
>>122
find ほげ -print0 | xargs -0 ふが
125:122
02/11/26 22:38
>>123
それはそうなんだけど...
>>124
それGNUのじゃないとできないよね。Solarisじゃ無理なのか?
スレ違いだな。
126:名無しさん@お腹いっぱい。
02/11/26 23:50
>>122
find . | awk '{ print "chown \""$1"\"" }' | sh
スペースがはいってるのなら、囲えばイーだけ。
127:126
02/11/26 23:53
find . | awk '{ print "chown \""$0"\"" }' | sh
$1じゃなくて、$0だね。まちがえた。
128:126
02/11/26 23:58
find . | sed 's/^/chown "/; s/$/"/' | sh
もひとつおまけ!
ストリームの中でscriptを編集するほうがベターかな?
129:名無しさん@お腹いっぱい。
02/11/27 00:05
>>126-128
それで次は「"」とか改行とかで悩むのか?
130:122
02/11/27 01:17
>>127
>>128
それfindの-exec使うのと何が違うの?
131:山崎渉
03/01/15 13:19
(^^)
132:山崎渉
03/04/17 12:39
(^^)
133:あぼーん
あぼーん
あぼーん
134:あぼーん
あぼーん
あぼーん
135:あぼーん
あぼーん
あぼーん
136:あぼーん
あぼーん
あぼーん
137:あぼーん
あぼーん
あぼーん
138:名無しさん@お腹いっぱい。
03/12/15 00:40
昔はまったこと...
$ grep -R 'hogeFunc' *
でカレントディレクトリ以下の全てのファイルから hogeFunc という単語を検索.
$ grep -R 'hogeFunc' *.h
でカレントディレクトリ以下の全てのヘッダファイルから検索? NO. それは
$ find . -name '*.h' | xargs grep 'hogeFunc'
でできる.(例えば)
139:名無しさん@お腹いっぱい。
03/12/15 02:25
GNU grepなら--include=*.h
140:名無しさん@お腹いっぱい。
04/06/15 14:31
カレントディレクトリ以下のディレクトリ&ファイルを全て表示するコマンドってありますか?
141:名無しさん@お腹いっぱい。
04/06/15 14:40
% find . -name "*"
142:140
04/06/15 14:48
>>141
超ありがとうございます!!
厨房ですいません。(笑)
143:名無しさん@お腹いっぱい。
04/06/15 15:01
こんなネタスレあったのか。
わりと面白かったぞ。
144:140
04/06/15 16:59
何度もすいません。
perlで
system 'find . -name "*" > path.txt';
だとtxtファイルにパスが書き込まれるんですが、
system 'find . -name "*" > $path';
とすると書き込まれません。
何か良い方法知ってる方いらっしゃいましたらご教授お願いします。m(_ _)m
145:名無しさん@お腹いっぱい。
04/06/15 17:02
>>144
くだらない質問はここに書き込め!なんでもアリ34
スレリンク(unix板)
146:名無しさん@お腹いっぱい。
05/03/24 01:45:48
真剣だ。
俺は真剣なんだ。
うそでした。すいません。
147:名無しさん@お腹いっぱい。
05/10/18 20:57:55
tar cvf でフォルダを保管して、tar xvf で復元しました。
が、もともとパーミッション777にしてあったフォルダのパーミッションが変わってしまいました。
tarでパーミッションを変えないように復元させることはできますか?
特別なコマンドオプションがあるのでしょうか。教えてください、よろしくお願いします。
148:名無しさん@お腹いっぱい。
05/10/18 22:05:34
それがあるとしたら、どこに書いてあると思う?
149:名無しさん@お腹いっぱい。
05/10/18 22:17:47
>>148
WEBにあると思ってぐぐってみたのですが、それらしきオプションは見つかりませんでした
150:147
05/10/18 22:49:37
ここで見つかりました。オプションはパーミッションのpでした。
URLリンク(www.ne.jp)
ありがとうございました。
151:名無しさん@お腹いっぱい。
06/09/21 01:25:19
>>150
今更だが、permissionじゃなくてpreserveのpな。
152:名無しさん@お腹いっぱい。
06/10/16 23:47:03
ここはコマンドオプション教えてスレじゃ無かったのか。。。
153:質問。
07/01/11 05:58:05
sfconvertとゆう周波数変換したりするコマンドが標準であるはずなのですが、
sfconvert inp.raw out.rawだけでもエラーが出ます。
また、そのコマンドのヘルプを見てオプションをつけようとしてもエラーが出てしまいます。
sfconvertの使い方を知ってる人がいたら教えてください(>_<。
154:名無しさん@お腹いっぱい。
07/01/11 12:06:43
>>153
くだらない質問はここに書き込め!Part 51
スレリンク(unix板)
155:名無しさん@お腹いっぱい。
10/10/09 21:25:00
①touch -mr file1 file3
②touch -r file1 file3
①ですと、file3の「最終更新日時」をfile1の「最終更新日時」に変更すると思いますが、
②ですと、file3の「最終更新日時」と「最終アクセス日時」を
file1の「最終更新日時」と「最終アクセス日時」に変更するということになるのでしょうか?