PERL参考脚本

PERL参考脚本


2024年2月23日发(作者:)

perl写的一个简单删除文件行号的脚本晚上在网上拷了一段程序,想看看运行结果,分析一下源代码,不想下载所得程序每行前面都有一个行号,程序不能运行,我就试着删除行号,可是程序太长,删的时候太麻烦,于是就写了一个perl脚本将其快速删除,现在将我的脚本贴出来,如有什么地方可以改进希望各位帮忙指出来,我的脚本如下:1#!/usr/bin/perl2#文件名:3#本脚本用来将源文件中每行的行号号去除,省去了手工删除行号的麻烦;4#运行格式是:5#78open(FILE,"$ARGV[0]")||die"Cannotopenfile$ARGV[0]";9open(OUTFILE,">>$ARGV[1]")||die"cannotcreatefile$ARGV[1]";10while($line=){111213}14close(FILE);15close(OUTFILE)运行实例:有文件11.#include12.#include13.#include_LICENSE("GPL");intpid;unsignedlongva;_param(pid,int,0644);$line=~s/^(空格{0,}|d)d{0,}.//g;printOUTFILE("$line");cefiletargetfile6#则在targetfile里面的内容就没了行号

_param(va,ulong,0644);print"n";intfind_pgd_init(void)23.{24.25.26.27.28.29.30.31.0x%lxn",PAGE_OFFSET);32.=%dn",PGDIR_SHIFT);33.34.35.36.37.=%dn",PTRS_PER_PGD);38.=%dn",PTRS_PER_PUD);39.=%dn",PTRS_PER_PMD);40.=%dn",PTRS_PER_PTE);41.42.0x%lxn",PAGE_MASK);%d.n",pid);if(!(pcb_tmp=find_task_by_pid(pid))){printk(KERN_INFO"Can'tfindtheprintk(KERN_INFO"PAGE_MASK=printk(KERN_INFO"PTRS_PER_PTEprintk(KERN_INFO"PTRS_PER_PMDprintk(KERN_INFO"PTRS_PER_PUDprintk(KERN_INFO"PTRS_PER_PGDprintk(KERN_INFO"PUD_SHIFT=%dn",PUD_SHIFT);printk(KERN_INFO"PMD_SHIFT=%dn",PMD_SHIFT);printk(KERN_INFO"PAGE_SHIFT=%dn",PAGE_SHIFT);printk(KERN_INFO"PGDIR_SHIFTprintk(KERN_INFO"PAGE_OFFSET=unsignedlongpa=0;structtask_struct*pcb_tmp=NULL;pgd_t*pgd_tmp=NULL;pud_t*pud_tmp=NULL;pmd_t*pmd_tmp=NULL;pte_t*pte_tmp=NULL;

46.47.48.49.(va<vm_end)*/50.51.0x%lxnotavailable.n",va);.n");.n");66.67.68.69.70.71.72.}}}}return0;printk(KERN_INFO"pgd=/*判断给出的地址va是否合法if(!find_vma(pcb_tmp->mm,va)){printk(KERN_INFO"virt_addrreturn0;pgd_tmp=pgd_offset(pcb_tmp->mm,va);printk(KERN_INFO"pgd_tmp=0x%pn",pgd_tmp);printk(KERN_INFO"pgd_val(*pgd_tmp)=if(pgd_none(*pgd_tmp)){printk(KERN_INFO"Notmappedinreturn0;pud_tmp=pud_offset(pgd_tmp,va);printk(KERN_INFO"pud_tmp=0x%pn",pud_tmp);printk(KERN_INFO"pud_val(*pud_tmp)=if(pud_none(*pud_tmp)){printk(KERN_INFO"Notmappedinreturn0;pmd_tmp=pmd_offset(pud_tmp,va);printk(KERN_INFO"pmd_tmp=0x%pn",pmd_tmp);printk(KERN_INFO"pmd_val(*pmd_tmp)=if(pmd_none(*pmd_tmp)){printk(KERN_INFO"Notmappedin0x%pn",pcb_tmp->mm->pgd);0x%lxn",pgd_val(*pgd_tmp));0x%lxn",pud_val(*pud_tmp));0x%lxn",pmd_val(*pmd_tmp));

pmd.n");_offset_kernel*/.n");.n");86.87.88.&~PAGE_MASK);89.0x%lx.n",va,pa);_OFFSET));92.93.94.95.}....运行脚本如下:return0;printk(KERN_INFO"contectin0x%lxis0x%lxn",pa,*(unsignedlong*)((char*)pa+printk(KERN_INFO"virt_addr0x%lxinRAMis}pa=(pte_val(*pte_tmp)&PAGE_MASK)|(vareturn0;}if(!pte_present(*pte_tmp)){printk(KERN_INFO"ptenotinreturn0;printk(KERN_INFO"pte_tmp=0x%pn",pte_tmp);printk(KERN_INFO"pte_val(*pte_tmp)=if(pte_none(*pte_tmp)){printk(KERN_INFO"Notmappedinpte_tmp=pte_offset_kernel(pmd_tmp,va);}/*在这里,把原来的pte_offset_map()改成了return0;0x%lxn",pte_val(*pte_tmp));

caojiangfeng@ceagle-laptop:~$1.c则在mem1.c中的文件没有行号了


发布者:admin,转转请注明出处:http://www.yc00.com/news/1708634033a1578361.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信