首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Perl one-liner:从数组中删除路径,只获取路径中的姓氏,如basename

Perl one-liner: 从数组中删除路径, 只获取路径中的姓氏, 如 basename

要完成这个任务,您需要使用Perl编程语言。下面是一个Perl one-liner示例,用于从数组中删除路径,并只获取路径中的姓氏:

代码语言:perl
复制
@names = ("John Doe", "Jane Smith", "Bob Johnson", "Mary Johnson");
@without_path = map { $_->[1] } grep { !/^\// } @names;
print "@without_path\n";

这个示例代码首先定义了一个包含四个名字的数组。然后,使用mapgrep函数来过滤出路径中的姓氏。map函数将每个元素传递给$_->[1],这会导致仅保留第二个元素(姓氏)。grep函数会过滤出没有/符号的元素,从而保留路径。最后,使用print语句将结果输出到控制台。

请注意,这个示例假设姓氏在路径中。如果您的数据集有不同的结构,您可能需要对代码进行相应的修改。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Perl语言程序应用(资料汇总版)

Perl语言最初是为文件体系处理而创作一种多用途语言,Perl试图填补低级语言(C、C++或汇编语言)和高级语言(shell编程)之间空白,使其既满足快速编程,又具有灵活文本处理功能。...home/tengwenkai/perl5/lib 不过一般不建议这么做,除非默认安装路径(可以使用perl-V查看,在@INC数组)没有写入权限,否则在模块使用时就得添加完整路径或者修改默认搜索路径...在use引用模块时,如果模块名称包含::双冒号,该双冒号将作为路径分隔符,相当于Linux下/,当然这里前面省略了@INC数组包含默认搜索路径。...使用自定义路径模块库,有以下两种方法: use lib '模块路径'; BEGIN { push @INC, '模块路径'; } 下面以常用基础模块File::Basename为例,该模块...basename函数用于返回一个包含路径长文件名基名(basename,也即去掉路径文件名),如下所示: use File::Basename; my $name = '/usr/local/bin

3.6K30

Perl进阶》——读书笔记(更新至14章)

需要 perl学习站点 1.2 strict和warnings 所有代码都应该打开strict和warnings,以规范编写perl代码,: #!...阅读模块手册 使用perldoc来阅读模块文档,Unix则用man也可以,: perldoc File::Basename # On Unix man File::Basename 2.3 功能接口...零配置,轻量级CPAN客户端 手动安装: Makefile.PL: 下载perl模块包:% wget (该URL可以CPAN站点中获取) 解压perl模块包:% tar -xzf...2.7 搜索路径 perl是通过@INC数组路径去搜索模块,可以通过以下两种方式获取@INC值: % perl -V % perl -le "print for @INC 程序添加指定路径...Windows可用 ; 分隔多个搜索路径 ---- 第x章 模块汇总 Cwd 提供了获取当前路径方法 Data::Dumper 数据编组:将Perl数据结构转为Perl代码(字节流

4.7K50

Linux find用法_find用法归纳

在此处给出find基本用法示例,都是平时我个人非常常用搜索功能。...获取文件绝对路径 当find结合管道,而管道后命令很可能想要获取到搜索到文件绝对路径,或者说是全路径。而问题是,当find搜索路径是相对路径时,搜索出来显示结果也是以相对路径显示。...获取文件名部分(basename) find-printf选项有很多修饰符功能,对于处理路径方面的修饰符有%f、%p、%P,其中%f是获取basename(去除所有路径前缀),%p是获取路径自身,一般用不上...结果仅仅是去掉了find搜索路径/tmp/test部分。当搜索路径只有一层(即没有子目录)时,它也可以用来获取basename。...结果中排除目录自身 find搜索目录时,总是会将搜索路径自身也包含到搜索结果。想办法排除它是必须

3.4K20

简单&基础shell操作_转发分享

另一个解释型语言,执行时,需要使用解释器一行一行地转换为代码,:awk, perl, python与shell等。...= $b ],要需要在方括号与变量以及变量与运算符之间也需要有括号, 否则为错误。(亲测过) 关系运算符: 支持数字,不支持字符串,除非字符串值是数字。...复制代码 Shell数组: bash支持一维数组, 不支持多维数组, 它下标0开始编号. 用下标[n] 获取数组元素; 定义数组: 在shell中用括号表示数组,元素用空格分开。...[index]} 读取数组全部元素,用@或* ${array_name[*]} ${array_name[@]} 获取数组信息: 取得数组元素个数: length=${#array_name...[@]} #或 length=${#array_name[*]} 获取数组下标: length=${!

1K10

Perl语言入门》——读书笔记

:" 逻辑运算发 "and && or ||" 短路操作符 十一章 Perl模块 模块来源 安装模块 使用模块 处理文件名 File::Basename 路径名拼接 File:Spec 更友好处理路径...可读系统错误信息 $#array 数组长度 $_ 默认变量 $^R 内嵌代码运行结果 $" 字符串数组内插分隔符,默认为空格 $ARGV 当前蒸菜处理文件 @ARGV 可执行程序参数列表...#rocks获取元素个数rocks[9]; # 10 字符串数组内插:自动添加分隔符,此分隔符是由特殊变量$"值指定,默认为空格 变量上下文和列表上下文 @people = qw(...:use lib qw( /Users/fred/perl5 ); 使用模块 加载模块File::Basename所有符号:use File::Basename; 加载模块File::Basename...:" 逻辑运算发 "and && or ||" 短路操作符 十一章 Perl模块 模块来源 安装模块 使用模块 处理文件名 File::Basename 路径名拼接 File:Spec 更友好处理路径

2.5K20

Perl语言模板及配置

R语言数据分析领域有应用越来越广泛,今年上升两位至14名;Shell由于版本和各类较多,在50-100名间有4种,此语言建议快速解决小问题,不建议写太长任务,很容易跨平台不兼容。...编程模板 是解决常用功能写作模板,帮助文档部分(提高代码重用和版本管理,方便其他人使用),命令行参数管理(可读性命令行是程序基础),程序运行时间统计(项目时间管理),常用文件读取数据结构样式(方便修改文件输入和输出.../usr/bin/perl -w # 加载时间管理,参数管理,文件名和路径处理基础包,无须安装 use POSIX qw(strftime); use Getopt::Std; use File::Basename...; ############################################################################### #命令行参数据定义和获取,记录程序初始时间...数组结构数据库,无唯一ID,但有顺序要求 #my (@tmp1,@tmp2); #database in array #while () { # chomp; # my

1.2K60

看了就会 Node.js 三大基础模块常用 API

这里介绍最常用那些,不是所有哈,想要看更全,直接看官方文档[1]就 OK。 尽量不废话,多上代码。...在 A 需要操作 B 项目下文件时,就可以用 process.cwd() 来获取 B 项目的路径。...通过 process.argv 可以获取传入命令行参数,返回值是一个数组: 0: Node 路径(一般用不到,直接忽略) 1: 被执行 JS 文件路径(一般用不到,直接忽略) 2~n: 真实传入命令参数...在 CLI ,经常需要获取一个路径所有文件,这时候也需要使用 fs.stat 来判断是目录还是文件,如果是目录则继续递归。当然,现在也有更方便 API 可以完成这个工作。...API writeFile,接收四个参数: 第一个参数: 待写入文件路径 第二个参数: 待写入文件内容 第三个参数: 配置对象,包括 encoding 和 flag,也可以直接传 encoding

83830

对数据进行按文件后缀名分类

import walk,getcwd,makedirs,system from shutil import copyfile,rmtree from os import path cwd=getcwd()#获取当前路径...input(f"按下回车键将整理:{cwd}目录下文件:") d={}#保存各个类型文件信息 cnt={}#保存重名文件个数 idx={}#保存重名文件当前是几号,1开始 if path.exists...("output"): rmtree("output")#删除之前输出文件夹 for dirname,dirs,files in walk(cwd): #遍历当前文件夹以及子文件夹下所有文件 for...+"\\"+i#文件所在绝对路径 baseName=path.split(loction)[1]#获取文件名,和i值一样 prefix=".".join(baseName.split(...["baseName"]]==1: #改文件出现过一次 newBaseName=file["baseName"] else: #该文件出现过多次需要使用下划线加编号格式保存

1K20

【天枢系列 01】Linux行数统计:命令对决,谁才是王者?

以下是其中一些常用命令: 1.1 wc 命令 wc 命令用于统计文件行数、字数和字符数。 -l 选项表示统计行数。...动作:对应sed要执行操作,替换、删除、添加等。 文件名:要处理文件名。 4.2 主要选项 -e:允许在命令行上指定多个编辑命令。 -i:直接修改文件内容,而不是将结果输出到标准输出。...awk 可以输入文件或标准输入流读取数据,然后根据用户指定模式和动作来处理这些数据。...当使用Perl命令时,有几个注意事项需要牢记: Perl解释器路径: 在某些系统上,Perl解释器路径可能不是 /usr/bin/perl,而是其他位置。...因此,在编写脚本或者执行Perl命令时,确保指定了正确解释器路径。 语法严谨: Perl是一种解释型语言,它对语法严谨性要求较高。

16110

Python 学习笔记6 读写文件

而在Linux,根目录是/ 在winows中路径书写使用倒斜杠, \ 而在Linux中使用正斜杠/ 来拼接路径 为避免路径不统一我们可以使用os.path.join() 函数来做拼接文件路径 :...import os os.path.join('usr','bin','spam') # usr\\bin\\spam 在python 操作文件我们需要引用os 模块 获取当前工作目录 os.getcwd...() 绝对路径根目录写起,开始 相对路径当前工作目录开始, 可以还是用....,则返回False os.path.relpath(path, start) 将返回start路径到path相对路径字符串.如果没有提供strat,就使用当前工作目录作为开始路径 os.path.dirname...\System32 os.path.basename(path) 该函数返回一个字符串,他包含path参数中最后一个斜杠之后所有内容 os.path.basename('C:\Windows\System32

19200

PHP5常用函数

pathinfo返回文件路径信息 ,包括以下数组单元:dirname ,basename 和 extension 。...is_dir mb_detect_encoding 自动获取字符串编码函数 usleep() 函数延迟代码执行若干微秒。   unpack() 函数二进制字符串对数据进行解包。   ...ucfirst() 函数把字符串首字符转换为大写。   trim() 函数字符串两端删除空白字符和其他预定义字符。...PHP5常用函数之rtrim() P rtrim() 函数 basename — 返回路径文件名部分 dirname — 返回路径目录部分 array_filter — 用回调函数过滤数组单元...////使用array_values函数进行重新索引 count_chars 返回字符串所用字符信息 array_keys 返回数组中所有的键名 array_slice 数组取出一段 key(

2K30

Laravel 辅助函数

array_add() 如果给定键不在数组,会把给定键值对加到数组.否则则不加入 array_divide() 函数返回两个数组,一个包含原本数组键,另一个包含原本数组值。...array_forget() 函数将会用”.”符号深度嵌套数组移除给定键值对 array_get() 函数将会使用”.”符号深度嵌套数组取回给定值 array_only() 函数将会数组返回给定键值对...获取 config 目录完整路径。...public_path 取得 public 文件夹完整路径 storage_path 取得 app/storage 文件夹完整路径 camel_case 把给定字串转换成 驼峰式命名 class_basename...值 dd 打印给定变量并结束脚本执行 elixir 获取带版本号 Elixir 文件路径 env 获取一个环境变量值,如果没有则返回一个默认值 event 触发一个事件 value

992100
领券