QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 856|回复: 5

有人懂 linux 里的 script 吗??

[复制链接]
发表于 2004-5-29 02:05:28 | 显示全部楼层 |阅读模式
怎么样写出一个script 是找出目录中最长的文件名称呢??  thanks

script..... =linux 里的 shell .........用bash ...........
 楼主| 发表于 2004-5-30 01:37:50 | 显示全部楼层
没人懂啊.......555555555  
回复

使用道具 举报

发表于 2004-5-30 21:33:30 | 显示全部楼层
这还得去查手册,不过在此之前可以用两条命令实现:
ls -l | gawk '{if(i<length($9))i=length($9)}END{print i}'
该命令可打印出当前目录中最长文件名的长度,假设是31,然后再运行第二条命令:
ls -l | gawk '{if(length($9)==31)print ($9)}'
如果用bash脚本可就有点麻烦了,但用perl就相当简单。
回复

使用道具 举报

发表于 2004-6-1 15:18:39 | 显示全部楼层
它相当于一个屏幕录像机
回复

使用道具 举报

发表于 2004-6-1 20:20:15 | 显示全部楼层
用perl脚本实现的话比较简单,以下是代码:
[code:1]
#!/usr/bin/perl
$i=0;
@files=`ls -1 $ARGV[0]`;
foreach $file(@files){
  $leng=length($file)-1;
  if($i<$leng){
    $i=$leng;
  }
  $file=subsrt($file,0,$l);
}

foreach $file(@files){
  $leng=length($file);
  if($i==$leng){
    print(" $file  ($i characters)\n");
  }
}

[/code:1]

比如将它保存为/bin/lls,你就可以用“lls 目录名”来显示该目录下具有最长文件名的文件了,如果缺省参数则对当前目录操作。
回复

使用道具 举报

 楼主| 发表于 2004-6-1 23:08:41 | 显示全部楼层
thanks u guys .
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 06:15 , Processed in 0.038705 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表