- 1 名前:login:Penguin [2007/07/10(火) 23:17:13 ID:qGthZdME]
- UNIX板のスレを見ている方も多数おられるかと思いますが、
まあそれはそれとして、BASHウゼーとか言われる心配なく 平和にLINUX的スクリプト談義しましょうよ。 初めての自作スクリプト、自信ないから見てください。な初心者から トリッキーな技を駆使した作品を披露したい、蘊蓄を語りたい上級者まで いろいろな人に参加して頂けると嬉しいです。 perlやらPythonやらの話が混ざっても良いんでない? 【sed】シェルスクリプト総合@LINUX Part2【awk】 pc11.2ch.net/test/read.cgi/linux/1154578200/ pc8.2ch.net/test/read.cgi/linux/1121994321/ >>2-5あたりに色々と。
- 851 名前:login:Penguin mailto:sage [2008/03/26(水) 21:17:50 ID:B6BxqxUi]
- ツリー表示について
find / -type d|sort|sed -ne'1b;s/[^\/]*\//┗━━/g;s/┗━━┗━━/┃ ┗━━/g; s/┗━━┗━━/┃ ┗━━/g; s/┗━━┃/┃ ┃/g;p' これだと下記のような表示になるのですが ┗━━proc ┃ ┗━━1 ┃ ┃ ┗━━attr ┃ ┃ ┗━━fd ┃ ┃ ┗━━task ┃ ┃ ┃ ┗━━1 ┃ ┃ ┃ ┃ ┗━━attr ┃ ┃ ┃ ┃ ┗━━fd ┃ ┗━━1106 ┃ ┃ ┗━━attr 不要な線を無くして見栄えを良くしたいのですが、何か良い方法はありませんでしょうか ┗━━proc ┃ ┗━━1 ┃ ┃ ┗━━attr ┃ ┃ ┗━━fd ┃ ┃ ┗━━task ┃ ┃ ┗━━1 ┃ ┃ ┗━━attr ┃ ┃ ┗━━fd ┃ ┗━━1106 ┃ ┃ ┗━━attr
- 852 名前:login:Penguin mailto:sage [2008/03/26(水) 21:52:30 ID:f9ufLLgD]
- よくわからんけど tree -dA じゃダメなの?
- 853 名前:851 mailto:sage [2008/03/26(水) 22:04:51 ID:B6BxqxUi]
- そういうコマンドがあるのは知ってるのですが
# which tree /usr/bin/which: no tree 残念なことに入ってないんです。 いろいろ調べまわった結果がこれなんです。 もう少し自分でも調べてきます。
- 854 名前:login:Penguin mailto:sage [2008/03/26(水) 22:31:33 ID:f9ufLLgD]
- そうかtreeのないトリもあるのか。
- 855 名前:login:Penguin mailto:sage [2008/03/26(水) 23:21:22 ID:5Znd97qm]
- yumとかaptで入れられないっけ?
- 856 名前:login:Penguin mailto:sage [2008/03/27(木) 00:04:09 ID:ZXE2f6WU]
- >>853
PATH が通ってないだけとか。locate 辺りで調べてみたら? 他に何かあったっけ>探す方法
- 857 名前:851 mailto:sage [2008/03/27(木) 00:35:50 ID:yDbPGpUf]
- なんとか自己解決できました
下記のシェルスクリプトを「/usr/bin/tree」に置いて代用することにしました。 #!/usr/bin/perl use strict; my($top)=$ARGV[0]; if($top eq ""){ $top="."; } print "[$top]\n"; &tree("",<$top/*>); sub tree { my($bar,@dir)=@_; for my $i(0..$#dir){ my($bl1)=($i<$#dir)?"┣":"┗"; my($bl2)=($i<$#dir)?"┃":" "; my(@path)=split(/\//,$dir[$i]); if(-d $dir[$i]){ print "$bar $bl1 [$path[$#path]]\n"; tree("$bar $bl2",<$dir[$i]/*>); }else{ print "$bar $bl1 $path[$#path]\n"; } } } ちょっと中身を理解するのは難しいですけど、使いこなせたらperlも結構便利そうですね。
|

|