- 締切済み
unixのfindコマンドについて。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Lean
- ベストアンサー率72% (435/603)
AIXを使用した事がないのでIBMのサイトでコマンドリファレンスを見た限りでは「find -L ./ -type f」でうまくいきませんかね?
関連するQ&A
- unixのfindコマンド
unixのfindコマンドで、ある複数のディレクトリから指定のファイル名だけを 検索し、その結果をgrepしたいのですが、 例えば 01_dir 02_dir : 11_di : 21_dir : と言うディレクトリがあります。 そこから、「0」で始まっているディレクトリの中なら拡張子が*.txtを 検索し、その検索したファイルに対して、grepを実行したいのですが、 上手くいきません。 もちろん、各ディレクトリには、「.txt」以外のファイルもありますし、 ファイル名にも条件を付与したいです。 以下の様に、 find . -name "0*_dir" -type d -print | xargs ls -l *.txt | grep "検索文字" find . -name "0*_dir" -type d -print | xargs ls *.txt | grep "検索文字" find . -name "0*_dir" -type d -print | xargs -i ls -l '{} /*.txt' | grep "検索文字" find . -name "0*_dir" -type d -print | xargs -i ls {} "検索文字" とやってみたのですがだめでした。 find ./ -type d \( -name '1_*dir' -o -name '2*_dir' -o -name '3*_dir' \) -prune -o -type f -print と「-prune」で除外するディレクトリを指定すればできなくはないですが、 すべてのディレクトリ書くのはいい方法ではないです。 よい方法をお願いします。 OSは、Solaris 11.3です。
- ベストアンサー
- Solaris系OS
- AIXのfindコマンドで引数オーバー
AIXで、findコマンドを使った際に"パラメータリストが長すぎます"と言うエラーが出ます。解決方法を教えてください。 find ./* -ntime +2 -type f 因みに、対象のディレクトリには3000ファイ
- 締切済み
- SE・インフラ・Webエンジニア
- UNIXコマンド "grep" "find" の使い方教えて下さい。
1)以下(1)、(2)を検索したいとします。 (1)"wrk_str"という文字列の記述があるファイル名 (2)tmp_file.c という名前のファイル名 2)ディレクトリ構成が以下になってるとします。 /home/users/複数のディレクトリが存在/複数のディレクトリが存在/複数のファイルが存在 3)/home/users/ 配下に検索したい文字列、ファイルがあるとした場合、どのように 探せばいいでしょうか? /home/users/配下で得に条件なしでgrepすると、"Arg list too long"(量が多い?)の メッセージが出て、検索できませんでした。 UNIXコマンドに詳しい方、宜しくお願いします。 それ以外にも、色々検索方法知っていたら教えて下さい!!
- ベストアンサー
- Linux系OS
- findコマンドについて
unix コマンドについて質問です。 ファイル1の中に"A=1" ," B=2", "C=3"という文字列が入っているとします。 ファイル2の中に"D=1" , "E=2", "F=3"という文字列が入っているとします。 そのことを自分は知りません。 Aという文字が入っているファイルを探す為、 以下のfindコマンドを打ち、ファイル1のlsの結果が表示されました。 find ./ -type f -exec grep 'A' {} \; -ls その後、出力されたファイル1の中からBとCでgrepしてB=2", "C=3"を表示したいと思います。 上のコマンドと併せて一度でできるコマンドを教えていただけないでしょうか? 宜しくお願いします。
- ベストアンサー
- その他(OS)
- find -exec cp中にファイル更新すると
find文についての質問です。 findオプション-exec cpによってコピー中に、別のファイルを更新すると、そのファイルがコピーされなくなってしまいました。 例えば、 find /tmp -mtime 1 -name "*" -type f -exec cp … により/tmp直下のファイルをコピー中に/tmp/a直下のファイルを更新すると、そのファイルはコピーできないといった結果になります。 findコマンドのオプションによりコピー可能にすることはできるのでしょうか? osはAIXです。 良い方法をご存知でしたら教えて下さい。お願いします。
- ベストアンサー
- その他(OS)
- Linuxのtarコマンドについて
Linuxのtarコマンドについてわかる方がいれば教えてほしいです。 (tarコマンドというよりはLinuxの仕様かもしれません) Linuxで以下①パターンと②パターンでコマンドを実行したときに 指定の仕方でtarファイルの作成されるディレクトリが違うのですが なぜでしょうか。 Linux初心者なので詳しく教えていただけると助かります。 共通(前準備 (#はプロンプトです)) # DIR=/tmp/hoge/2021 # ls -l ${DIR} ~ test1.txt ~ test2.txt ~ test3.txt # cd ${DIR} ①パターン # tar -cvf ${DIR}.tar ./* (アスタリスクです) # ls -l /tmp/hoge ~ 2021.tar ⇒/tmp/hoge配下にtarができる ②パターン # tar -cvf 2021.tar ./* (アスタリスクです) # ls -l /tmp/hoge ~ 2021.tar ⇒/tmp/hoge/2021配下にtarができる
- ベストアンサー
- Linux系OS
- UNIXの"find"コマンド同等のプログラム作成について
お世話になっております。 現在UNIXの"-type f"オプションのついた"find"コマンドと同等のプログラムをC言語で作ろうとしています。 つまりディレクトリ内のファイル(サブディレクトリ内のファイル含む、ディレクトリは除外)を全てフルパスで表示するプログラムです。 現在下記の関数を作成したのですがうまく動いてくれません。 どなたかご教授いただけないでしょうか。 【問題】 プログラム内の(**)前後で"dir1"が変更される。 (**)前:"/ディレクトリA/" (**)後:"/ディレクトリA/ディレクトリA内のファイル1" 本当は"dir1"には:"/ディレクトリA/"のままであってほしいです。 "strcat"コマンドの仕様が影響しているのでしょうか。 int _find(char dir1[] , int k ,int l , int m ) { DIR *dir ; struct dirent *dp ; struct stat statbuf ; char txt[1000] ; if ( m == 0 ) l++ ; if ( (dir = opendir(dir1)) == NULL ){ printf("%s",dir1) ; perror("opendir") ; exit(1) ; } for( dp=readdir(dir) ; dp != NULL ; dp=readdir(dir) ){ if ( strcmp(dp->d_name,".") != 0 && strcmp(dp->d_name,"..") != 0 ){ /* ROOT_DIR名-にファイル名を付け加えて、フルパスにする */ strcpy( temp[k][l] , dir1) ; strcat( temp[k][l] , "/" ) ; strcat( temp[k][l] , dp->d_name ) ; (**) stat( temp[k][l] , &statbuf ) ; if(S_ISDIR(statbuf.st_mode)){ l=_find(temp[k][l],k,l,1) ; }else{ sort[k][l]=temp[k][l] ; printf("temp[%d][%d]=%s\n",k,l,sort[k][l]); printf( "dir5=%s\n",dir1) ; l++ ; } } } closedir(dir) ; return l ; }
- ベストアンサー
- C・C++・C#
- UNIX入門者です。どうやって慣れていけばいいでしょうか。。
こんにちは。よろしくおねがいします。 つい先日AIXベーシックの試験を受験し、不合格でした。 67%正解で合格のところ、62%で不合格でした。 UNIX自体、1ヶ月前に初めて触れたのですが、入門書などを読み、ディレクトリ構造やコマンドやviエディターの勉強をして試験に臨みました。(とはいえ理解度は低く、暗記という感じです) 不合格の感想としては、「もう少し理解度を深めてからでないと合格は難しい」「実機にてコマンドを打つ習慣をつけないと本だけでは体が覚えないだろう」と感じています。しかし、再受験してどうにか合格したいと思っています。 そこでアドバイスをいただきたいのですが (1)もしAIXベーシックを受験された方がいましたら、役に立つおすすめの問題集や本やサイトはございませんでしょうか。(受験されてない方でもアドバイスおねがいします) (2)UNIX入門者が初めてコマンドを叩く場合、どのようなことから始めると効率が良いでしょうか。 もう少しでもUNIXの概念を理解できれば、(コマンドの世界を)楽しく感じることができそうなのですが、その一歩手前で足踏みしていて、勉強が苦痛に感じているところです。どうかアドバイスよろしくおねがいします。
- ベストアンサー
- その他(ITシステム運用・管理)
- tcsh 別サーバのディレクトリ名取得
いつもお世話になってます。 標題についてご教授願えないでしょうか 先日同一サーバ内でディレクトリ名一覧を取得する事はできました。 しかし、他サーバのディレクトリ名を取得するにはsftp等で 繋いで取得するしか方法はないのでしょうか 現サーバ:test@hoge1 他サーバ test@hoge2 現サーバから他サーバの/usr/home/htdocs/配下のディレクトリ名を取得 find test@hoge2:/usr/home/htdocs/* とやっても 「そのようなファイルやディレクトリはありません」 と言われてしまいます。 よろしくおねがいします
- 締切済み
- その他(プログラミング・開発)
お礼
補足を書いたらお礼が消えてしまいました… 参考URLに記述されているページと似たようなページ(Ver違いかもしれません)を参照していました。 しかし、参考URLに記述されているオプションを付けて実行すると、構文エラーとなってしまいました。 その後、解決致しました。 コマンドリファレンスには記述されていませんでしたが、 「-follow」を付けるとリンクを辿るようです。 ご回答ありがとうございました。
補足
解決致しました。 コマンドリファレンスには載っていなかったのですが、 「-follow」を付けると、リンクも辿るようです。 ありがとうございました。