求AIX的一个搜索命令!!!

elison_16 2008-10-09 11:02:08
在AIX的某个目录下有很多个以FMT100****为名称开头的文件,都是一些报文文件.
请问如何在该目录下用搜索命令把各个文件里含有多个指定的字符串的文件都找出来呢?

好象是用grep的命令,但是我不知道格式.搜索的条件是多个指定的字符串,搜索的范围是某个目录里的所有文件.
求正确的命令!!谢了
...全文
1126 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
elison_16 2008-10-13
  • 打赏
  • 举报
回复
刚才用find 命令找到了以一个字符串56A:BKCHCNBJ860为搜索条件的结果,但是要搜索多个字符串的话有哪位知道怎么样写吗??

/cable_fxpi/recv/source>find . -name 'FMT100*'|xargs grep 56A:BKCHCNBJ860
./FMT10020080312010011::56A:BKCHCNBJ860
./FMT10020080312010017::56A:BKCHCNBJ860
./FMT10020080312010036::56A:BKCHCNBJ860
./FMT10020080625025209::56A:BKCHCNBJ860
./FMT10020080625025210::56A:BKCHCNBJ860
./FMT10020080626025216::56A:BKCHCNBJ860
./FMT10020090102025282::56A:BKCHCNBJ860
./FMT10020080708025295::56A:BKCHCNBJ860
./FMT10020080708025296::56A:BKCHCNBJ860
./FMT10020080709025301::56A:BKCHCNBJ860
./FMT10020080709025302::56A:BKCHCNBJ860
./FMT10020080725025303::56A:BKCHCNBJ860
./FMT10020080820025320::56A:BKCHCNBJ860
./FMT10020081008025388::56A:BKCHCNBJ860
./FMT10020081008025389::56A:BKCHCNBJ860
./FMT10020081008025390::56A:BKCHCNBJ860
./FMT10020081009025391::56A:BKCHCNBJ860
huoyin 2008-10-10
  • 打赏
  • 举报
回复
你看看这个文章:
http://www.webservertalk.com/archive109-2007-3-1832849.html
elison_16 2008-10-10
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 huoyin 的回复:]
-rw-rw-rw-. fxpi ... 都不是文件,但是grep认为是文件,试图打开的时候出错。

就用我给你的那个命令就行了。
[/Quote]

试了试,估计找到的东西太多了,还是报错.晕!!
/cable_fxpi/recv/source>grep "56A" * | more
ksh: /bin/grep: 0403-027 The parameter list is too long.
huoyin 2008-10-10
  • 打赏
  • 举报
回复
-rw-rw-rw-. fxpi ... 都不是文件,但是grep认为是文件,试图打开的时候出错。

就用我给你的那个命令就行了。
elison_16 2008-10-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 huoyin 的回复:]
sorry, there is no less command on aix. please use:

grep "56A" * | more
[/Quote]

试了试 ls -l|xargs grep "56A"|more 还是出错:

grep: 0652-033 Cannot open -rw-rw-rw-.
grep: 0652-033 Cannot open 1.
grep: 0652-033 Cannot open fxpi.
grep: 0652-033 Cannot open mqm.
grep: 0652-033 Cannot open 226.
grep: 0652-033 Cannot open Feb.
grep: 0652-033 Cannot open 17.
grep: 0652-033 Cannot open 2008.
grep: 0652-033 Cannot open -rw-rw-rw-.
grep: 0652-033 Cannot open 1.
grep: 0652-033 Cannot open fxpi.
grep: 0652-033 Cannot open mqm.
grep: 0652-033 Cannot open 250.

grep: 0652-033 这个错误究竟是什么原因产生的呢??
huoyin 2008-10-10
  • 打赏
  • 举报
回复
sorry, there is no less command on aix. please use:

grep "56A" * | more
elison_16 2008-10-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 huoyin 的回复:]
grep "56A" * | less

or

ls -1 |xargs grep "56A" | less
[/Quote]


这样的命令错了吧,执行后也报错:

/cable_fxpi/recv/source>ls -l |xargs grep "56A" | less
ksh: There is not enough space in the file system.
ksh: less: not found.
grep: 0652-033 Cannot open total.
grep: 0652-033 Cannot open 184728.
grep: 0652-033 Cannot open -rw-rw-rw-.
grep: 0652-033 Cannot open 1.
grep: 0652-033 Cannot open fxpi.
grep: 0652-033 Cannot open mqm.
grep: 0652-033 Cannot open 0.
grep: 0652-033 Cannot open Oct.
grep: 0652-033 Cannot open 09.
grep: 0652-033 Cannot open 14:16.
elison_16 2008-10-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 huailairen 的回复:]
find / -type f |awk -F/ '$NF ~ /^FMT100/ {print}' |xargs grep '56A'
[/Quote]


命令看不懂,执行了一下还是出错的:

find: 0652-081 cannot change directory to </var/lost+found>:
: The file access permissions do not allow the specified action.
find: 0652-081 cannot change directory to </var/adm/cron>:
: The file access permissions do not allow the specified action

全都是反回这个错!!呵呵
huoyin 2008-10-09
  • 打赏
  • 举报
回复
grep "56A" * | less

or

ls -1 |xargs grep "56A" | less
huailairen 2008-10-09
  • 打赏
  • 举报
回复
find / -type f |awk -F/ '$NF ~ /^FMT100/ {print}' |xargs grep '56A'
踏岸寻柳 2008-10-09
  • 打赏
  • 举报
回复
例如多个字符串分别为S1、S2、S3、...

最笨的方法就是逐步缩小范围:
1. 先看包含S1的文件
grep -l S1 FMT100****
2. 步骤1会得到一个文件列表,在该列表中查询S2
grep -l S2 `grep -l S1 FMT100****`
...
huailairen 2008-10-09
  • 打赏
  • 举报
回复
ls -1 |xargs grep
mosaic 2008-10-09
  • 打赏
  • 举报
回复
看不到的问题好解决, 把输出重定向到文件就可以老.

xx > yy.txt

xx表示命令
elison_16 2008-10-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 huailairen 的回复:]
ls -1 |xargs grep
[/Quote]


你好: 我试过了 ls -1 |xargs grep "56A",
返回了很多结果,截取了一部分:
FMT10020080312004301::56A:BKCHCNBJ001
grep: 0652-033 Cannot open -rw-rw-rw-.
grep: 0652-033 Cannot open 1.
grep: 0652-033 Cannot open fxpi.
grep: 0652-033 Cannot open mqm.
grep: 0652-033 Cannot open 2174.
grep: 0652-033 Cannot open Mar.
grep: 0652-033 Cannot open 12.
grep: 0652-033 Cannot open 2008.
FMT10020080312004302::56A:BKCHCNBJ001
grep: 0652-033 Cannot open -rw-rw-rw-.

其中grep: 0652-033 是不是出错了啊? 另外由于文件数量很多,在NETTERM 里面会不断翻屏,最前面搜到的结果
都会看不到了!!! 有什么办法可以看到全部结果吗?

mosaic 2008-10-09
  • 打赏
  • 举报
回复
1楼好像误解楼主的意思,不是在文件名找指定字符串。

19,619

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧