#!/usr/bin/perl
#######################################################################
# file name: catfind #
# use cat to open specific files by pattern in current folder #
#######################################################################
my $me = `basename $0`;
chomp($me);
sub showHelp{
print "Usage $me [-dnumber] file-pattern1 [file-pattern2] [...]/n";
print "-d: search depth/n";
print "the file pattern is case insensitive/n";
}
my $maxdepth = undef;
if(@ARGV == 0){
showHelp();
exit 0;
}elsif(@ARGV == 1){
my $arg1 = $ARGV[0];
if($arg1 =~ m//-d/d*/){
showHelp();
exit 1;
}
}else{
my $arg1 = $ARGV[0];
if($arg1 =~ m/^(/-d)(/d+)$/){
$maxdepth = $2;
}else{
showHelp();
exit 1;
}
}
my %files = ();
my $index = 1;
my $startIndex = defined $maxdepth ? 1 : 0;
# execute find
for($i = $startIndex; $i < @ARGV; $i++){
my $pattern = $ARGV[$i];
my $maxdepthArg = $maxdepth > 0 ? " -maxdepth $maxdepth " : "";
my $findcmd = "find . $maxdepthArg -xtype f -iname /"*$pattern*/" 2>/dev/null";
my $filelist = `$findcmd`;
chomp($filelist);
my @items = split("/n", $filelist);
# add find results
foreach $item (@items){
if($files{$item} eq ""){
$files{$item} = $index++;
}
}
}
if($index == 1){
print "No matched files are found!/n";
exit 0;
}
my @menu = ("exit");
foreach $file (keys(%files)){
my $key = $file;
my $no = $files{$key};
$menu[$no] = $key;
}
# if only one hit, open it by default
my $cmd;
if($#menu == 1){
$cmd = "cat -n $menu[1]";
}else{
# display menu
for($i = 1; $i < @menu; $i++){
print "$i. $menu[$i]/n";
}
print "0. $menu[0]/n";
print "input file no:";
# waiting user input
my $line = <STDIN>;
chomp($line);
# open file
if($line =~ m/[0-9]+/ && $line > 0 && $line < @menu){
$cmd = "cat -n $menu[$line]";
}
}
print "$cmd/n";
system("$cmd");
exit 0
相关推荐
gdb对dwarf调试信息的解析和使用
gdb的对dwarf的调试信息的解析到使用的过程分析
less find grep命令
less find grep命令
uniapp+openlayers集成天地图实战:renderjs通信陷阱与性能优化避坑指南
本文深入探讨了uniapp与openlayers集成天地图时的renderjs通信陷阱与性能优化策略。通过实战案例解析了renderjs的特殊通信机制、地图实例生命周期管理、图层懒加载等关键技巧,帮助开发者避免常见坑点,提升应用流畅度。特别针对多语言切换、热重载偏移等疑难问题提供了解决方案,是uniapp+openlayers开发者的实用避坑指南。
linux less查找特定字符串,Linux文件查找命令find,xargs详述
1.find由于f i n d具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( N F S ),f i n d命令在该文件系统中同样有效,只你具有相应的权限。在运行一个非常消耗资源的f i n d命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指3 0 G字节以上的文件系统)。F i n d命令的...
MacX DVD Ripper Pro for Mac(DVD解码器) 6.2.120190416免激活版
只需要5分钟即可转档一张DVD光碟!并允许我们在编码之前预览、编辑、裁剪、修剪或扩展视频。第一款也是唯一一款能够支持DVD到MP4,H.264,MOV,FLV,MPEG4等所有格式DVD(新DVD,99-标题DVD,损坏和无法播放的DVD)和翻录DVD / ISO映像的工具,AVI,QT,MP3等。借助350多种预设配置文件MacX DVD Ripper Pro for Mac(DVD解码器) 6...
【银河麒麟服务器操作系统】安装英伟达4090D显卡驱动操作指南
本文详细介绍了在银河麒麟高级服务器操作系统V10SP3-2403-X86版本上安装NVIDIA RTX4090D显卡驱动的完整流程。主要内容包括:准备工作检查、开源驱动禁用、运行级别切换、依赖包安装以及交互式安装过程中的关键选项选择(32位库选Yes、X配置选No)。通过禁用nouveau驱动、重建内核引导等步骤确保驱动安装成功,最后通过nvidia-smi命令验证驱动安装情况。文档提供了操作检查表和安装流程图,帮助用户在银河麒麟系统上顺利完成显卡驱动部署。
Linux系统的常见命令二(more命令、less命令、grep命令和find命令)
本文主要介绍Linux系统的more命令、less命令、grep命令和find命令
C#上位机+YOLO实时目标检测:摄像头采集+多线程推理+精度调优全流程
标注数据集:使用LabelImg工具标注目标对象,按YOLO格式整理数据集;模型训练:使用Ultralytics库训练自定义模型,提升特定目标的检测精度;训练参数优化:增加训练轮数(epochs=100200)、调整批次大小(batch=1632)、使用数据增强(flip、mosaic等)。摄像头采集:封装通用采集类,支持USB摄像头/网口相机,实现稳定帧读取与异常处理;多线程推理:采用“采集线程+推理线程+UI线程”解耦架构,使用线程安全队列传递帧数据,彻底解决界面卡顿;核心封装。
Linux——几个重要的指令man、cp、mv、 cat、more、 less、find
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在less 工具也是对文件或其它输出进行分页显示的工具,功能极其强大。 less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看 -i 或 --interactive 覆盖文件之前先询问用户 -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理 -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
基于STM32L4XX、HAL库的MAX13487EESA RS485总线收发器驱动程序设计
MAX13487EESA是一款3.3V供电的RS-485/RS-422收发器,由Maxim Integrated生产。PA4 (控制引脚) ---> /RE, DE (连接在一起)具有±15kV ESD保护的驱动器输出和接收器输入。半双工RS-485/RS-422通信。工业温度范围:-40°C至+85°C。工作电压范围:3.0V至3.6V。数据速率高达250kbps。
【AirPlay】苹果认证MFI学习
配件认证是一个过程,通过这个过程,可验证其配件符合MFi技术规范,并通过苹果指定的任何认证测试。MFi门户中的产品计划 "认证 "页面将指导你完成特定配件所需的认证步骤,并指出何时完成所有要求。在完成所有MFi认证要求之前,你不得制造、分发或销售任何配件。在开始MFi认证过程之前,你必须测试你的配件,以确保它符合最新的MFi技术规范,通过产品计划 "测试计划 "上的所有适用测试,并与它将声称具有兼容性的每个苹果设备兼容。
LINUX find命名,以及cat、more、less、tail、head命令的区别
1、find说明: Linux中find常见用法示例· find path -option [-print ] [ -exec -ok command ] {} \;# -print 将查找到的文件输出到标准输出 # -exec command {} \; -----将查到的文件执行command操作,{} 和 \;之间有空格 # -ok 和-exec...
华为数通方向HCIP-DataCom H12-831题库(多选题:121-140)
华为数通HCIP H12-831多选题
lessfind
#!/usr/bin/perl######################################################################## file name: lessfind ## use less to open specific files b
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
IDEA的使用指南
IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.
Linux-1.4文件操作命令(grep,cat,tail,head,less,find,chmod,tail,less)
Linux基础命令(grep,cat,tail,head,less,find,chmod,tail,less) grep(常用) grep 指定“文件”搜索文件内容 grep hello 1.txt 在文件中查找字串 grep -n hello 1.txt 显示字串的行数 grep -i hello 1.txt 不区分大小写 grep -in hello 1.txt显示字串...
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
less 查看日志,并且搜索
一、关键字搜索日志【非常实用】 1:less catalina.out 2:大写字母:F【find的意思,并且其实他正在计算行数】直接到达日志最底部,也就是最新日志 3:ctrl+c【把上面的计算行数运算停止】 4:?要搜索的字符【用通配符?开始查找】 5:键盘上下键来查看 【 上下键, 空格下一页, 字母B上一页 , 字母Q退出, n(小写字母n)上一个关键字位置 ...
数学建模模型总结
这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!
linux less命令查找文件包含字符串
介绍下less命令用来查找日志 1.less 日志文件名.后缀 2.G 定位到日志文件的最后一行 3.?order 从最后一行向上查找包含order的地方 4.敲回车 触发查找 5.n 从下向上翻找下一个包含order的地方 6.N 从上向下翻找下一个包含order的地方 ...
Less Sass
less 变量 可运算 对常用的值进行定义,然后应用到样式中,这样只要改变你定义的变量参数值就可以达到改变全局的效果 .border{ border:1px solid red; } @color :blue; //定义变量 @blue : 'color' ; @height:10px; @width:100px; #header { .border //混入class height: @height; width: @width; color: @@blue;
使用perl计算日期
#!/usr/bin/perlsub addDate{ ($delt) = @_; my $date = time() + 60 * 60 * 24 * $delt; (undef, undef, undef, $day, $month, $year) = localtime $date; $year += 1900; $month++;
findline
#!/bin/bash ###################################################### # file name: findline # # find lines
ax
#!/bin/bash ########################################### # file name: ax # # set file to be executable for all users # ########################################### ME=`basename $0` showHelp() { echo "usage $ME file_name1 [
killprocess
#!/usr/bin/perl######################################################################## file name: killprocess ## kill process by pid
vifind
#!/usr/bin/perl ################################################## # file name: vifind.pl # # vi specific files by pattern in current folder # ################################################## my $me = `basename $0`; chomp
lesslast
#!/bin/bash######################################################################## file name: lesslast ## use less to open last file by ls -lt
vilast
#!/usr/bin/ksh ###################################### # vi last file by 'ls -ltrF' command # ###################################### vi `ls -ltrF | sed -n '$p' | awk {'print$NF'}`
catlast
#!/bin/bash ################################################################## # file name: cat last # # display last file by 'ls -ltrF' command # #######################################
9568



被折叠的 条评论
为什么被折叠?



