• ベストアンサー

" ls -l " から、指定縦列の中から、grepする方法

foobarの回答

  • foobar
  • ベストアンサー率44% (1423/3185)
回答No.5

#3補足 linux(bash,GNU grep)で試したところ、 grep '^[rwxs-]\+ \+\w\+ \+\w\+ \+\w\+ \+\w\+ \+5' と+を\でエスケープする必要があるようでした。 (エスケープは不要な気もするのですが、なにか勘違いしてるかな。) あと、 \+\w\+ の繰り返しを()でくくって{4}で回数指定する方法でもよいようです。(こちらも、()などをエスケープする必要があるようです。) また、「**日以上経過したファイル」なら、#4さん回答にあるようにfindを使うのがよいかと思います。(findもオプション指定で、サブディレクトリ以下の検索をしないようにできたかと思います) その他、lsで-t(だったかな)オプションを使って、日時でソートして、、というのも場合によっては有効かもしれません。(頻繁に抽出作業をするのでなければ、日時でソートして前後を手動で削るというのもありかなと)

Piranha
質問者

補足

grep '^[rwxs-]\+ \+\w\+ \+\w\+ \+\w\+ \+\w\+ \+5' これは、残念ながらNGでした。 質問では省いてますが、 "ls -ltr" は叩いてます。 すいません、削除はしませんので sort する必要性はないです。

関連するQ&A

  • ls -lの見方を教えてください。

    ls -lのパーミッションの次にでてくる数字はファイルとディレクトリの場合で何を表すか教えてください。 [root@hogehoge etc]# ls -l /etc/sysconfig/networking/profiles/default/ 合計 36 -rw-r--r-- 2 root root 146 8月 25 23:12 hosts -rw-r--r-- 3 root root 221 8月 25 23:12 ifcfg-eth0 -rw-r--r-- 3 root root 147 8月 25 23:12 ifcfg-eth1 -rw-r--r-- 1 root root 0 8月 25 23:12 network -rw-r--r-- 2 root root 80 8月 25 23:12 resolv.conf

  • ls -l でのパーミッションの右横の表示

    こんにちは。Fedora 11を使っています。 ls -l の出力において、パーミッションの右隣に表示されるドットの意味は、何なのでしょうか? 下記の例(ls -l /etcの結果の一部)で、passwd- の方についているドットのことです。) -rw-r--r-- 1 root root 1885 2009-07-25 12:17 passwd -rw-r--r--. 1 root root 1840 2009-07-02 20:06 passwd- マニュアルを見ても、「ACLが設定されている場合は+が表示される」の説明しか見つけることができず、困っています。 (なお、ACLは設定していません。) よろしくお願いします。

  • Linux ls -l について

    Linuxで「ls -l」を実行した時の一番上に出てくる合計とは何の事なのでしょうか? 調べてもよくわからないのでお手数ですがご存じの方教えて頂けると助かります。 例) 合計 4 ←この部分 -rw-r--r-- 1 xxxxxxx yyyyy 67 2月 27日 09:42 a -rw-r--r-- 1 xxxxxxx yyyyy 127 2月 27日 09:43 b

  • ls -l コマンドの結果から月の値だけを取りだしたい

    皆さん、お手数ですが教えて下さい。 今Linux上で動作させるC言語のプログラミング作業を行っているのですが、その過程において以下のコマンドラインから”月”の数値を取り出したいと思っています。 (sprintfで編集したコマンドをsystemコマンドで。) > ls -l test_11.c -rw-rw-r-- 1 user1 group 5431 9月 25 18:02 test_11.c 以上の表示結果から、lsコマンドとawkコマンドを組み合わせて、月の数値を取り出したいのですが、 この例で言うと、月の部分には”9月”と全角の「月」という文字が付いてきます。 取り出したいのは「9」の値だけなのです。 上手くこの月の数値だけを取り出すオプションとか無いでしょうか? もちろん、複数のコマンドをパイプで繋げるのは一向に構いません。 よろしくお願いいたします。

  • "ls -l"でのタイムスタンプ表示について

    UNIXコマンド"ls -l"を実行した際に表示されるタイムスタンプに ついての質問です。 上記のコマンドを実行すると、通常下記の(1)のような結果が得られますが (1)-rw-rw-rw- 2 mine project 512 May 7 15:12 aaa.txt 下記のような少し古いファイルになると、タイムスタンプの 時間の表示のところが"year"を表示してしまいます。 2000年のファイルに関してはしょうがないかもしれないのですが 今年2001年のファイルまで、時間の表示が出なくなってしまってます。 (2)-rw-rw-rw- 1 mine project 1242 Oct 13 2000 bbb.txt (3)-rw-rw-rw- 1 mine project 3342 Jan 9 2001 ccc.txt この"year"表示を"時間"表示に直す設定を知ってる方いましたらご教授願います。 ちなみに、昨年以前のファイルに関しては、やはりしょうがないということでしょうか? OSは Solalis2.6で、私はかなりの初心者です。 尚、UNIX関連の質問って他にいいカテゴリありますか? ここで問題ないでしょうか?

  • 日本語ファイルの閲覧方法

    [root@cifstest ~]# ls -l /home/cifs/ -rw-r--r--. 1 1002 499 22 2月 7 21:31 2013 aaa.txt -rwxrw-rw-. 1 root 300 0 2月 7 21:07 2013 あああ.txt NASドライブ共有フォルダをlinuxにてマウントしています。(/home/cifs) マウントした/home/cifsをlsで確認した結果が上記内容になります。 aaa.txtとあああ.txtがあるのですが、 linuxターミナル(teraTerm)から、「cat あああ.txt」で中身を見ようとすると 「cat: あああ.txt: そのようなファイルやディレクトリはありません」 と表示されます。 linux(Teraterm)から、「あああ.txt」を確認する方法はないでしょうか? ご教授お願いします。

  • makeコマンドができない

    基本的なことだと思いますがお願いします。 fedore core で色んなことをやってみようと思い sl を インストール していたのですがmakeができないのです。インストール通りにできないの はなんでですか? makeコマンドは /usr/bin にありました。 的はずれなこと言っていたらすみません。 [root@localhost sl]# ls -lrt 合計 36 -rw-r--r-- 1 3605 lock 4101 1月 19 1994 sl.h -rw-r--r-- 1 3605 lock 980 1月 19 1994 sl.txt -rw-r--r-- 1 3605 lock 689 1月 19 1994 sl.1 -rw-r--r-- 1 3605 36 417 7月 22 1998 README -rw-r--r-- 1 3605 36 331 7月 22 1998 Makefile -rw-r--r-- 1 root root 76 10月 31 2005 install.txt -rw-r--r-- 1 3605 36 7131 10月 31 2005 sl.c [root@localhost sl]# more install.txt 1. # tar xvf sl.tar 2. # cd sl 3. # make 4. # cp sl /usr/local/bin/ 5. # sl [root@localhost sl]# make cc -O -o sl sl.c -lcurses -ltermcap make: cc: コマンドが見つかりませんでした make: *** [sl] エラー 127

  • execからのls grepコマンドについて

    PHPで階層になっているディレクトリ名をすべて取得するプログラムを作成しています。 ディレクトリ数、ファイル数が非常に多いので動作速度向上のためにlinuxコマンドで取得するために以下の命令を記述しました。 exec("ls -l | grep '^d' ./hogehoge/hugahuga/",$aDir); var_dump($aDir); これを実行しても $aDirに値が入りません。 どうすれば望みどおりの結果になるでしょうか。

    • 締切済み
    • PHP
  • SNMPの標準MIBについて

    お世話になります。 現在SNMPの勉強をしているところですが、標準MIBについていまいちピントきません。。 基本的な質問で申し訳ないのですがご教授ください。 標準MIBとはMIB2(RFC1213)で定義されているMIBとのことですが、 先程CentOSにnet-snmpをインストールしたところ、/usr/share/snmp/mibs配下に RFC1213-MIB.txtを見つけたのですが、これ以外にも多くのテキストファイル(MIB)がありました。 [root@CentOS_Server mibs]# ls -tlr /usr/share/snmp/mibs/ | grep MIB -rw-r--r-- 1 root root 79667 May 26 2010 RFC1213-MIB.txt -rw-r--r-- 1 root root 29305 May 26 2010 SNMPv2-MIB.txt -rw-r--r-- 1 root root 9106 May 26 2010 SNMP-PROXY-MIB.txt -rw-r--r-- 1 root root 16414 May 26 2010 TRANSPORT-ADDRESS-MIB.txt -rw-r--r-- 1 root root 16782 May 26 2010 INET-ADDRESS-MIB.txt -rw-r--r-- 1 root root 5066 May 26 2010 IF-INVERTED-STACK-MIB.txt -rw-r--r-- 1 root root 3518 May 26 2010 IANA-RTPROTO-MIB.txt -rw-r--r-- 1 root root 24723 May 26 2010 NOTIFICATION-LOG-MIB.txt -rw-r--r-- 1 root root 4400 May 26 2010 IPV6-UDP-MIB.txt -rw-r--r-- 1 root root 7257 May 26 2010 IPV6-TCP-MIB.txt ・・・以下省略 標準MIBファイルとはRFC1213-MIB.txtのことを指すのでしょうか。 それとも、RFC1213-MIBだけでなく、このディレクトリにあるMIBファイル全てを指すのでしょうか。 宜しくお願いいたします。

  • コマンド履歴が~/.bash_historyに保存されない

    通常、コマンド履歴は~/.bash_historyに保存されるはずだと思っていましたが保存されていないようです、原因がわかりません。 助けて頂けませんでしょうか [root@localhost sub]# su - hoge [hoge@localhost ~]$ ls Desktop i a testdir ec.txt [hoge@localhost ~]$ tail ~/.bash_history set|grep abc abc=`date` set|grep abc echo $abc abc=1 echo $abc abc=$(date) echo $abc alias exit