免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: goodwang
打印 上一主题 下一主题

怎样查找某个目录下在某个时间段内所有修改过的文件包括子目录下 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2003-04-07 14:41 |只看该作者

怎样查找某个目录下在某个时间段内所有修改过的文件包括子目录下

看来我要去学shell编程了
sed -n 什么意思?

论坛徽章:
0
12 [报告]
发表于 2003-04-07 15:10 |只看该作者

怎样查找某个目录下在某个时间段内所有修改过的文件包括子目录下

原帖由 "goodwang" 发表:
看来我要去学shell编程了
sed -n 什么意思?


man sed

-n Suppresses all information normally written to standard output.

论坛徽章:
0
13 [报告]
发表于 2003-04-07 18:23 |只看该作者

怎样查找某个目录下在某个时间段内所有修改过的文件包括子目录下

原帖由 "nkliyong" 发表:

solaris偶这没有,这段代码在其他系统不行,只能大概说说
...
应该是sort +5M +6n的功能(偶就这句实现不了,不知solaris是如何实现的?).


nkliyong 真厉害,这样子凭空想想就猜出偶的意图了,一点都不含糊也。

至于你没有的那句话,在 Solaris 上是这样的,

sort +5M +6n

排序:
+5M, 先排第6域,M 表示按 Jan, Feb, Mar, ... 这样的月份顺序,
+6n, 再排每7域,n 表示数字顺序,这在大多数系统上都应该是一样的。

论坛徽章:
0
14 [报告]
发表于 2003-04-07 20:09 |只看该作者

怎样查找某个目录下在某个时间段内所有修改过的文件包括子目录下

原帖由 "红袖添香" 发表:


至于你没有的那句话,在 Solaris 上是这样的,

sort +5M +6n

排序:
+5M, 先排第6域,M 表示按 Jan, Feb, Mar, ... 这样的月份顺?.........


+5M挺不错的,可以按月份排
第7域不用排吗?
过你那管道用的有点神奇.

论坛徽章:
0
15 [报告]
发表于 2003-04-07 21:13 |只看该作者

怎样查找某个目录下在某个时间段内所有修改过的文件包括子目录下

原帖由 "nkliyong"][quote:aa67aa774d="红袖添香" 发表:


至于你没有的那句话,在 Solaris 上是这样的,

sort +5M +6n

排序:
+5M, 先排第6域,M 表示按 Jan, Feb, Mar, ... 这样的月份顺?.........


+5M挺不错的,可以按月份排
第7域不用排吗?
过你那管道用的有点神奇. [/quote]
nkliyong 说得对哦,还要对时间排序,忘记了,呵呵。。。

sort +5M +6n +7n

论坛徽章:
0
16 [报告]
发表于 2003-04-08 15:11 |只看该作者

怎样查找某个目录下在某个时间段内所有修改过的文件包括子目录下

以下是我敲的命令,为什么没有显示出Apr 1 11:00---Apr 17 12:00-的文件呢?
# ls -alF
total 38
drwxr-xr-x   9 oracle   dba          512 Apr  8 11:48 ./
drwxr-xr-x  10 root     root         512 Apr  8 11:15 ../
-rw-------   1 oracle   dba          146 Apr  7 11:52 .TTauthority
-rw-------   1 oracle   dba          101 Apr  7 11:52 .Xauthority
drwxr-xr-x  11 oracle   dba          512 Apr  7 12:56 .dt/
-rwxr-xr-x   1 oracle   dba         5111 Apr  7 11:41 .dtprofile*
-rw-r--r--   1 oracle   dba          582 Apr  7 11:34 .profile
-rw-------   1 oracle   dba         1016 Apr  8 12:26 .sh_history
drwx------   2 oracle   dba          512 Apr  7 11:52 .solregis/
-rwxrwxrwx   1 root     other        143 Apr  8 12:24 1.sh*
drwxr-xr-x  40 oracle   dba         1024 Apr  7 13:15 OraHome1/
drwxrwxr-x   3 oracle   dba          512 Apr  7 12:30 jre/
drwx------  10 oracle   dba          512 Apr  7 13:14 oraInventory/
drwxrwxr-x   3 oracle   dba          512 Apr  7 13:15 oracle1/
drwxrwxr-x   6 oracle   dba          512 Apr  7 12:30 oui/


# ./1.sh
-----Apr 1 11:00-----
-----Apr 17 12:00-----

# cat 1.sh
begin='Apr 1 11:00'
end='Apr 17 12:00'

cat - <<! | sort +5M +6n +7n | sed -n "/$begin/,/$end/p"
-----$begin-----
-----$end-----
'ls -alFR'
!

论坛徽章:
0
17 [报告]
发表于 2003-04-08 15:29 |只看该作者

怎样查找某个目录下在某个时间段内所有修改过的文件包括子目录下

...

我用你的文件列表试过了,可以啊,要注意的是

-□-□-□-□-□$begin□-□-□-□-□-
-□-□-□-□-□$end□-□-□-□-□-

其中的 □ 表示:  空格或TAB, 一个或多个

论坛徽章:
0
18 [报告]
发表于 2003-04-08 16:12 |只看该作者

怎样查找某个目录下在某个时间段内所有修改过的文件包括子目录下

加了空格还是不行,干脆将你成功的1.sh源代码贴出来,不胜感谢
# ./1.sh
- - - - - Apr 1 11:00 - - - - -
- - - - - Apr 17 12:00 - - - - -

# cat 1.sh
begin='Apr 1 11:00'
end='Apr 17 12:00'

cat - <<! | sort +5M +6n +7n | sed -n "/$begin/,/$end/p"
- - - - - $begin - - - - -
- - - - - $end - - - - -
'ls -alFR'
!

论坛徽章:
0
19 [报告]
发表于 2003-04-08 16:21 |只看该作者

怎样查找某个目录下在某个时间段内所有修改过的文件包括子目录下

...

跟 http://www.chinaunix.net/forum/viewtopic.php?p=303508#303508 是几乎一样的,就多个 +7n,你没有从帖子上拷吧?

begin='Apr 1 11:00'
end='Apr 17 12:00'

cat - <<! | sort +5M +6n +7n | sed -n "/$begin/,/$end/p"
- - - - - $begin - - - - -
- - - - - $end - - - - -
`ls -alFR`
!


注意:是`,不是 '

论坛徽章:
0
20 [报告]
发表于 2003-04-09 09:43 |只看该作者

怎样查找某个目录下在某个时间段内所有修改过的文件包括子目录下

经过重重艰难险阻终于能列出东东了,看来还是我的基础太差了,连单引号和撇号都没有分清楚。

可是我发现 Apr  7 11:34 .profile文件怎么会列出来?他不在我的时间范围之内呀?

# ls -alF
total 42
drwxr-xr-x   9 oracle   dba          512 Apr  8 12:58 ./
drwxr-xr-x  10 root     root         512 Apr  8 11:15 ../
-rw-------   1 oracle   dba          146 Apr  8 12:52 .TTauthority
-rw-------   1 oracle   dba          101 Apr  8 12:52 .Xauthority
drwxr-xr-x  11 oracle   dba          512 Apr  8 13:30 .dt/
-rwxr-xr-x   1 oracle   dba         5111 Apr  7 11:41 .dtprofile*
-rw-r--r--   1 oracle   dba          582 Apr  7 11:34 .profile
-rw-------   1 oracle   dba         1644 Apr  8 16:12 .sh_history
drwx------   2 oracle   dba          512 Apr  8 12:52 .solregis/
-rwxrwxrwx   1 root     other        161 Apr  9 09:27 1.sh*
-rw-r--r--   1 oracle   dba          404 Apr  8 12:50 2
drwxr-xr-x  40 oracle   dba         1024 Apr  8 13:20 OraHome1/
drwxrwxr-x   3 oracle   dba          512 Apr  8 12:58 jre/
drwx------  10 oracle   dba          512 Apr  8 12:58 oraInventory/
drwxrwxr-x   3 oracle   dba          512 Apr  7 13:15 oracle1/
drwxrwxr-x   6 oracle   dba          512 Apr  8 12:58 oui/
# cat 1.sh
begin='Apr 7 11:35'
end='Apr 8 11:35'

cat - <<! | sort +5M +6n +7n | sed -n "/$begin/,/$end/p"
-       -       -       -       -       $begin  -       -       -       -
-
-       -       -       -       -       $end    -       -       -       -
-
`ls -alF`
!

# ./1.sh
-       -       -       -       -       Apr 7 11:35     -       -       -
-       -
-rw-r--r--   1 oracle   dba          582 Apr  7 11:34 .profile
-rwxr-xr-x   1 oracle   dba         5111 Apr  7 11:41 .dtprofile*
drwxrwxr-x   3 oracle   dba          512 Apr  7 13:15 oracle1/
-       -       -       -       -       Apr 8 11:35     -       -       -
-       -
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP