Linux 转换 find 命令的返回结果为 shell array

Shell 与 Bash 的本质区别:POSIX 规范 vs GNU 实现 Shell 是 POSIX 标准定义的操作系统交互接口规范,代表一种通用角色——命令解析、进程调度与 I/O 协调;Bash 则是 GNU 项目实现的增强型 Shell,兼容 POSIX 同时扩展了数组、[[ ]] 条件判断、$(( )) 算术扩展等非标准特性。这种‘规范 vs 实现’的关系决定了脚本可移植性的底层边界:使用 /bin/sh(如 dash)追求轻量与兼容,适用于 init、crontab 和容器启动;而 /bin/bash 提供高效交互与开发体验,但带来启动开销与环境依赖。理解这一分层,是解 阅读详情

在shell脚本中,find命令用于搜索给定目录下符合搜索条件的的文件或子目录,如命令var=$(find "$PWD" -name "*.tsv")表示搜索当前目录下的所有tsv文件。

find命令的返回结果需要注意,`它的直接返回结果不是一个标准的shell array数据结构,而是一个shell variable,如果尝试通过索引号进行取值,0索引的结果并不是返回所有结果的第一个元素,反而是输出全部返回结果,但是``0```索引之后的元素可以正常索引。如下所示 :

>ls -R
total 0
0 -rw-r--r-- 1 Nh_code GROUP 0 Jun 21 17:22 5.tsv
0 -rw-r--r-- 1 Nh_code GROUP 0 Jun 21 17:22 4.tsv
0 -rw-r--r-- 1 Nh_code GROUP 0 Jun 21 17:22 3.tsv
0 -rw-r--r-- 1 Nh_code GROUP 0 Jun 21 17:22 2.tsv

### 对find 命令的返回结果 var 尝试索引取值, ${var[0]} 的结果不是第一个元素,而是打印出find命令的全部返回结果
>var=$(find .  -name "*.tsv" ) ; echo ${var[0]}
./4.tsv ./1.tsv ./3.tsv ./5.tsv ./2.tsv
### 但是除了第一个元素,其余元素都能通过索引号取值
>var=$(find .  -name "*.tsv" ) ; echo ${var[1]}
./1.tsv

取值方法1-遍历

虽然无法通过索引号索引数组元素的方式取find命令的返回值元素,但find命令的返回结果是可以通过for循环进行遍历的。

$for i in $(find . -name "*.tsv") ; do echo ${i} ; done
./4.tsv
./1.tsv
./3.tsv
./5.tsv
./2.tsv

取值方法2-转换成array

find命令的返回结果可以通过在命令外围套一组括号来转换成shell array数据结构,var_array=( `find . -name "*.tsv"` ),这样find命令的返回结果就是一个标准shell array了。

$var_array=(`find .  -name "*.tsv"`);echo ${var_array[0]}
./4.tsv
$var_array=(`find .  -name "*.tsv"`);echo ${var_array[1]}
./1.tsv

参考资料
How can I store the “find” command results as an array in Bash - Stack Overflow

C Shell循环编程指南:foreach、while与repeat实战详解 Shell脚本编程是系统管理与自动化运维的核心技能,其核心原理在于通过命令行解释器执行预定义的任务序列。在Unix/Linux生态中,不同的Shell环境拥有各自独特的语法体系,其中C Shell(csh)以其类C语言的语法结构在特定场景下仍被广泛使用。掌握csh的循环控制技术,能够有效提升在遗留系统、科学计算集群等环境下的脚本维护能力。本文聚焦csh的foreach循环结构,深入解析其遍历文件列表、处理命令输出的实现机制,同时涵盖while条件循环和repeat固定次数循环的工程实践,通过对比Bourne 阅读详情

相关推荐

命令执行漏洞攻防全解析:从原理挖掘到实战防御

命令执行漏洞是Web安全领域的核心威胁之一,其本质源于应用程序将未经验证的用户输入直接拼接到系统命令中执行。从技术原理上看,这打破了数据流与控制流的边界,使得攻击者能够通过注入命令分隔符(如分号、管道符)操控Shell解释器,从而在服务器上执行任意指令。该漏洞的技术价值在于其利用门槛相对较低,但危害性极高,常导致服务器权限完全沦陷。在应用场景上,它广泛存在于网络诊断、文件操作、数据处理等需要调用系统命令的功能模块中。本文聚焦于命令执行漏洞的实战攻防,深入剖析其利用手法与防御策略,涵盖了从基础注入到权限提升的

weixin_34163553的博客 713

在Shell脚本中如何接收和遍历find命令返回的结果

# 在Shell中如何接收遍历find命令返回的结果 res=$(find /root/zzw/sf-sys-files/test/ -name test_*.sh) for r in $res do echo "===$r" done;

qq_41371858的博客 7866

GeoRust:基于Rust+WASM的确定性3D GIS引擎

3D GIS引擎是支撑数字孪生、城市仿真与时空分析的核心基础设施,其本质需在地理坐标系、多源瓦片调度与物理渲染之间实现精度、实时性与内存占用的平衡。传统WebGL方案依赖JavaScript单线程与运行时动态调度,易受GC停顿、投影失真和GPU资源争抢影响;而Rust凭借所有权系统、零成本抽象与WASM确定性执行,可静态验证地理数据生命周期、实现无拷贝瓦片解码、内置PBR大气模型与体素云渲染。本文聚焦GeoRust这一新一代开源引擎,解析其如何通过编译期约束替代运行时妥协,为高精度地形加载、3D Tiles

weixin_33946605的博客 357

linux find命令返回值,Linux find命令使用详则

find命令find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录欲文件。并且将查找到的子目录和文件全部进行显示。语法find(选项)(参数)选项-amin:查找在指定时间曾被存取过的文件或者目录,单位以分钟计算;-anewer:查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录;...

weixin_35319943的博客 2125

DVWA命令注入实战:从乱码修复到蚁剑WebShell连接完整指南

命令注入是Web安全中一种常见的高危漏洞,其原理在于应用程序未对用户输入进行充分过滤,导致攻击者能够将恶意系统命令拼接到服务器端执行。理解其原理对于构建安全的Web应用至关重要,该漏洞的技术价值在于它直接赋予了攻击者在目标服务器上执行任意命令的能力,危害极大。在渗透测试和安全评估的实践场景中,安全研究人员常利用DVWA(Damn Vulnerable Web Application)这类靶场进行漏洞复现与利用练习。然而,初学者常会遇到命令执行结果乱码、跨平台(Windows/Linux)命令差异以及如何建立

weixin_34189116的博客 439

【16】linux命令/工具,systemd,文件操作,动静态库,信号,socket

apt install python3-pip --fix-missing(断开vpn,cp /etc/apt/sources.list /etc/apt/sources.list.bak,python3 -m pip install --upgrade pip,apt-get update,pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com)设置时间,联网,apt-get install vim。

持续更新ing... 6785

shell find命令使用详解。

<br /><br /> <br /> find <br /> 查找文件或目录。<br />语  法:find [目录...][-amin <分钟>][-anewer <参考文件或目录>][-atime <24小时数>][-cmin <分钟>][-cnewer <参考文件或目录>][-ctime <24小时数>][-daystart][-depyh][-empty][-exec <执行指令>][-false][-fls <列表文件>][-follow][-fprint <列表文件>][-fprint0 <列

xuhongning的专栏 8044

UE4 GamePlay框架深度解析:从蓝图到C++构建多人游戏核心

在游戏开发与实时交互应用领域,一套清晰、可扩展的底层框架是项目成功的关键。GamePlay框架作为虚幻引擎(UE4/UE5)的核心架构,定义了游戏世界中对象交互、状态管理与网络同步的基本原理。它通过职责分离的设计模式,将游戏规则(GameMode)、全局状态(GameState)、玩家状态(PlayerState)、可操控实体(Pawn/Character)及其控制器(Controller)等核心类有机组织起来,确保了逻辑的清晰性与多人游戏数据的一致性。其技术价值在于为开发者提供了一套经过验证的最佳实践,大

weixin_33924770的博客 611

linux shell find 数组,如何将“ find”命令结果存储为Bash中的数组

若吾皇这是将输出结果find放入bash数组的一种解决方案:array=()while IFS= read -r -d $'\0'; do array+=("$REPLY")done < tmpfilewhile IFS= read -r -d $'\0'; do array+=("$REPLY")done (...)可以用来代替命令要写入文件的文件名。像数组一样,进程替换是...

weixin_31856057的博客 1529

Cloudflare SaaS 优选IP实战:提升大陆访问速度的配置指南

本文详细介绍了如何通过Cloudflare SaaS优选IP提升中国大陆用户访问速度的配置指南。从基础环境准备到IP筛选方法,再到完整配置流程和效果验证,帮助用户突破免费套餐限制,精准优化网络线路,特别适合跨境电商和面向中国大陆用户的网站优化。

weixin_29231027的博客 683

数据库1:数据库创建与管理(头歌云课)

在 Windows 系统中,可以直接通过 SQLServer 的应用程序连接数据库,不过很多时候在生产环境下,我们需要通过命令行来连接数据库。两个数据库,数据库名分别为 TestDb 和 MyDb 的数据库,注意先后顺序。为了完成本关任务,你需要掌握:1.如何在 Linux 系统中连接 SQLServer 数据库,2.如何创建数据库。连接的数据库是本地数据库,用户名是 sa ,密码是 '

weixin_60530224的博客 2314

【linux】 Shell函数返回值

必须是数字。

m0_45406092的博客 4301

告别抓包失败!保姆级配置:让Burp+Proxifier稳定抓取任意微信小程序

本文提供了一套完整的Burp+Proxifier配置方案,确保稳定抓取微信小程序数据。从环境准备、工具选型到Burp Suite深度配置和Proxifier精准设置,详细解决了证书安装、进程捕获和乱码解析等核心问题,帮助开发者告别抓包失败,提升调试效率。

weixin_28738165的博客 452

ShellJS 完全指南:在 Node.js 中跨平台复用 Unix Shell 命令

ShellJS 是一个构建于 Node.js API 之上的可移植 Unix Shell 命令库,让 JavaScript 开发者能在 Windows/Linux/macOS 上直接调用 `cat`、`sed`、`grep`、`exec` 等熟悉的 Shell 命令,从而消除脚本对 Unix 环境的依赖。本文将基于本项目 [README](https://link.gitcode.com/i/a0

gitblog_00295的博客 362

matlab处理las点云(1)——las/laz格式解析【2024最新版】

matlab中的las/laz格式解析。博客长期更新,本文最近一次更新时间为:2024年11月9日。

点云侠的博客 8459

S7-1200与ABB机器人进行SOCKET通信的具体方法示例

S7-1200与ABB机器人进行SOCKET通信的具体方法示例

Robot_PLC_HMI_Automation 3291

Wisp:融合Shell便捷与Lua编程能力的结构化管道Shell实战

在Linux系统管理与自动化运维领域,Shell脚本是基础且核心的技术工具,它通过管道连接命令,以文本流形式处理数据,遵循Unix哲学。然而,传统Shell如Bash在处理复杂逻辑、数据结构化操作时,常面临语法晦涩、调试困难、错误处理薄弱等挑战。为解决这些问题,一种增强型的技术方案应运而生,它内嵌了轻量级脚本语言引擎,并引入了结构化数据流的概念,从而在保留Shell组合优雅性的同时,赋予了脚本强大的编程表达力和健壮性。这种方案特别适用于需要复杂逻辑判断、数据转换和深度系统交互的自动化场景,例如系统监控、日志

weixin_30321449的博客 435

QNX侧触摸屏(TP)Bringup流程与源码深度解析

QNX侧TP Bringup的核心在于构建。

QQ_778132974的博客 477

深蓝词库转换(ImeWlConverter)集成测试框架实战指南:基于 Shell 的黑盒转换测试体系

本文深入讲解 [tests/integration](https://gitcode.com/gh_mirrors/im/imewlconverter/blob/192fd20b04a060f2574943880160b8e6f13024fa/tests/integration?utm_source=gitcode_repo_files) 目录下的词库转换集成测试框架——一个面向 ImeWlCon

gitblog_00589的博客 354

Unity零基础到入门 ☀️| 近万字教程 对 Unity 中的 动画系统基础 全面解析+实战演练,你确定要错过吗?

Unity动画系统,Animation,Animator。 本文对Unity中的动画系统基础做了一个全面解析,还包括实战演练。近万字教程让你对Unity的动画系统有一个系统的了解,敬请品尝!

努力前行,总会成为自己心中的那道光 9万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Wisp:融合Lua与Shell管道的Linux自动化脚本新方案

在Linux系统管理与自动化运维领域,Shell脚本是处理命令行任务的基础工具,但其语法晦涩、数据结构单一等局限性常使复杂逻辑的实现变得困难。现代脚本语言如Python虽功能强大,但与Shell环境集成时存在启动开销大、管道操作不够直观等问题。为解决这些痛点,一种创新的技术方案应运而生:将轻量级脚本语言与Shell管道思想深度融合。Wisp正是这一理念的实践,它通过引入Lua作为脚本引擎,重新定义了命令管道的交互方式,实现了结构化数据的无缝传递。这种融合不仅提升了脚本的可读性和可维护性,还显著增强了数据处理

weixin_30598225的博客 374

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

嵌入式Linux开发必备:Shell脚本自动化实战与性能优化指南

Shell脚本作为Linux系统的核心自动化工具,其本质是一种解释型脚本语言,通过调用系统命令和工具实现任务自动化。其工作原理基于Shell解释器逐行解析执行,具备轻量级、低依赖和高效率的技术特点。在嵌入式开发领域,Shell脚本的技术价值尤为突出,能够实现零额外依赖的系统操作,直接与硬件交互,并高效管理资源受限环境下的编译、部署和监控任务。应用场景广泛覆盖嵌入式Linux的系统启动定制、自动化编译、批量文件处理、系统状态监控和固件升级等关键环节。本文聚焦嵌入式Linux开发中的Shell脚本实战,深入解析

weixin_30642869的博客 380

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Shell脚本格式化与解析的智能解决方案:shfmt工具实战指南

在Shell脚本开发中,我们经常面临代码格式混乱、风格不统一的问题,这不仅影响代码可读性,还可能导致团队协作效率低下。shfmt作为一款专业的Shell脚本格式化工具,提供了自动化解决方案,支持bash语法解析、格式化与解释执行,帮助我们统一脚本风格、提高代码质量和维护效率。 ## 核心关键词 - **Shell脚本格式化**(核心关键词) - Shell脚本自动格式化工具 - bash语法解析

gitblog_01046的博客 162

Bash 完全指南:从常用命令到 Shell 编程实战(bash-guide 精讲)

bash-guide 是一份以"一条命令一个示例"方式组织的 Bash 学习手册,覆盖从环境变量查看、文件/文本/目录操作、SSH 与网络工具,到变量、数组、字符串处理、函数、条件与循环等 Shell 编程核心语法,以及别名、退出陷阱、脚本调试和多任务并行等实战技巧。阅读本文后,你将能够熟练运用这些高频命令完成日常运维与数据处理,并能独立编写、调试和并行执行 Bash 脚本。本文完整梳理了仓库 [

gitblog_00377的博客 222

深蓝词库转换(imewlconverter)集成测试框架实施指南:Shell 驱动的黑盒回归测试体系

本文以 [specs/001-integration-tests/plan.md](https://gitcode.com/gh_mirrors/im/imewlconverter/blob/192fd20b04a060f2574943880160b8e6f13024fa/specs/001-integration-tests/plan.md?utm_source=gitcode_repo_fil

gitblog_00873的博客 212

Shell条件判断与循环:从命令拼接迈向生产级自动化

Shell脚本的核心能力不在于命令组合,而在于逻辑控制——条件判断决定程序分支走向,循环结构实现批量与持续处理。理解`[[ ]]`与`(( ))`的底层差异,可规避空变量崩溃、字符串隐式转换等稳定性风险;掌握`for`(集合遍历)、`while`(事件驱动)、`until`(等待成功)的本质区别,才能安全处理含空格文件、流式输入和状态监控。这些机制共同构成Shell自动化健壮性的技术底座,广泛应用于日志归档、磁盘告警、服务巡检等运维核心场景。

weixin_34372728的博客 328
上一篇: Seurat::DotPlot绘图美化-facet方法添加X轴注释标签
下一篇: R语言rhdf5读写hdf5文件(.h5)展示文件组织结构和数据索引
倪桦
博客等级 码龄4年 5397粉丝 102原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倪桦

有帮助的话请杯咖啡吧,谢谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值