• 締切済み

ls -alRの結果からシンボリックリンクを抜き出して、フルパスで表示させたいのですが

はじめて質問いたします。 環境:solaris9,tcsh ls -alR / > hoge.txt というファイルがあり、そこから 1. シンボリックリンクを抜き出す(リンク元、リンク先) 2. 1.の結果をフルパスで表示 ということをやりたいのですが、なにかいい方法はありますでしょうか。なにとぞご教示おねがいします。

みんなの回答

noname#20112
noname#20112
回答No.1

anonymity_様私はtcshは使用しないのでbshでの方法を記載します。 解決のヒントになれば嬉しいです。 まずシンボリックリンクだけを抽出するならfindでも抜き出せます。 例:find / -type l -print だたこの場合リンク元しか出力がされません 今回の場合hoge.txtからシンボリックリンクのフィールドだけを抜き出せば良いと思います。 抜き出し方はいろいろありますが、シンボリックリンクは第一フィールドにlrwxrwxrwx等の文字列がありますのでそれを元に抜き出しても良いと思います。単に"->"を抜き出す文字列としても良いと思います。

anonymity_
質問者

補足

solproさん、回答ありがとうございます。ただ、ファイルを '(^lrwx)' などで抽出すると、相対パスしか出力されません。 #まぁ、そう書き込まれているのでしょうがないんですけど・・・。 つまり、1.に関してはご回答どおりで実現できますが、問題は2.で「フルパス」で表示したいのです。とりあえず、エディタやexcelでガリガリやってみましたが、hoge.txtは10万行以上ありますので人力ではミスや工数がかかってしまい、なんとか自動化できないか。と、苦慮しております。 自分でもがんばってみますが、いい方法がありましたら、教えていただけますでしょうか。よろしくお願いします。

関連するQ&A