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

Unix脚本读取特定的行和位置

Unix脚本中的 for 循环可以用于遍历一个由多个文件组成的列表。read 命令用于获取文件的内容,并使用 while read 方式将内容分割到不同的变量中。使用 while 循环可以实现对指定文件的逐行扫描。

下面是一个典型的示例,它将当前目录中的所有 .txt 文件的内容读出,并依次赋值给变量 file_content

代码语言:txt
复制
#!/bin/sh

# 使用 for 循环遍历文件列表
for file in *.txt; do
    # 对于每个文件,使用 while 循环读取每一行
    while read -r line; do
        # 如果当前行的末尾包含指定的行,则执行相应的操作
        if [[ $line == *"Your searched line" ]]; then
            echo "$line"
            exit 0
        fi
    done <"$file"
done

此脚本用于读取指定文件的第12行、并输出该行:

代码语言:txt
复制
for file in *.txt; do
    while read -r line; do
        if [[ $line == *"第12行:" ]]; then
            echo "$line"
            exit 0
        fi
    done <"$file"
done

这个脚本用于读取多个文件,并在找到包含指定单词的行时输出行。如果找不到满足条件的行,它将忽略所有的文件。

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

相关·内容

  • 使用Lua脚本实现对Redis数据库读取写入操作

    图片要在Lua脚本中实现对Redis数据库读取写入操作,可以使用RedisEVAL命令执行Lua脚本,在脚本中调用Redis读写操作。...Lua脚本读写操作实例下面是一个示例脚本,演示如何在Lua脚本中实现对Redis数据库读写操作。...("GET", key)return result在示例中,首先声明了一个keyvalue变量,然后通过redis.call函数调用RedisSET命令将数据写入数据库。...接着通过redis.call函数调用RedisGET命令读取刚才写入数据。最后将读取结果作为返回值返回。执行EVAL命令执行这个Lua脚本,可以使用RedisEVAL命令。...请注意,在实际应用中,可以根据需要在Lua脚本中编写更复杂逻辑,调用Redis提供各种读写命令来操作数据。

    74851

    以太坊中Solidity · 大金刚境:语法详解#变量数据位置枚举

    以太坊中Solidity · 大金刚境:语法详解#变量数据位置枚举 众所周知,以太坊开发拥有四种境界:金刚境,指玄境,天象境以及陆地神仙。...今天我们继续来学习Solidity语法来深造大金刚境界。 一、变量数据位置 在solidity中,变量位置主要分为两类。第一类是memory,是将变量存储在内存之中。...还有一类是storage,这个类型修饰数据会被永久存储在区块链之上。其实还有一类是calldata,该位置数据是只读,并不会在区块链上持久化,一般在外部函数才会指定。...需要注意是,状态变量如果不指定,默认是存储在storage中。而在函数之中局部变量同样是在storage。不过函数参数以及返回值它们默认存储位置是存储在内存之中,即memory。...如果memory到storage是不会改变源数据,具体例子在此不再详述。 然后再从storage到storagememory到memory一样也是会更改源数据

    44320

    sed & awk 第二版学习(五)—— 高级 sed 命令

    控制转移到脚本顶端并且不打印那一。当读取下一时,它匹配模式“2”,因此将已经复制到保持空间追加到模式空间之后,然后到达脚本底端,两行都被打印出来。...三、高级流控制命令 分支(b)测试(t)命令将脚本控制转移到包含特殊标签。如果没有指定标签,则将控制转移到脚本结尾处。...下面的脚本使用分支命令创建循环: :top command1 command2 /pattern/b top command3 一旦读取一个输入行,command1 command2...在单引号对中双引号序列确保被包围参数首先被 shell 求值,然后再由 sed 对 sed 脚本进行处理。 之后 shift 用于改变位置参数位置。‌...这种用法在 shell 脚本中意味着循环将遍历位置参数(即 1、2、 for 循环体中是作用于文件 sed 脚本

    11610

    【Linux】BASH基本攻略,分分钟PK掉黑客达人

    用户可以直接输入命令,也可以从称为名为shell脚本或shell程序文件中读取。 Shell types UNIX系统通常提供多种shell类型。...命令查找数据文件默认位置。...UNIX文件层次结构呈树状。要访问特定文件夹或文件,需要穿过树结构中某些特定路径。路径需借助斜杠(/)字符分隔上述结构每个节点。 文件定位/文件导航 如Lscd这样命令用于定位管理文件。...· Grep(全称:global regular expression print)搜索具有给定字符串或查找指定输入流中模式。以下命令将读取所有文件并输出包含单词“Tom”所有。...排序过滤器按首字母顺序或数字顺序对行进行排序 cat命令首先读取文件fruits.txt内容,然后对其进行排序。 uniq代表unique,它提供输入流中特殊数量。

    2.5K30

    Sed 命令

    1.工作流程sed工作流程主要包括读取、执行显示三个过程: 读取:sed从 输入流 (文件、管道、标准输入)中读取内容并存储到临时缓冲区中(又称模式空间,pattern space)...通常与 -n 选项一起使用=:打印行号l:打印数据流中文本不可打印ASCII字符r:在指定下面读取文件内容w:将文件内容保存到新文件中二、打印命令演示1.打印文件内容#打印文件a.txt,sed...九、将字符位置互换#将字符1133互换位置echo '112233' | sed -r 's/(11)(22)(33)/\3\2\1/' 332211#将首字符 1 与最后字符 3 互换位置echo...'112233' | sed -r 's/^(.)(.+)(.)$/\3\2\1/' 312231十、将字符位置互换1.删除匹配上一下一:sed -i -e '/string/n;d' -e...P;D' filename3.删除匹配到特定字符所在行下一 sed -i -e ‘/string/n;d‘ filename4.sed中使用变量,删除匹配上一下一:AA=string

    18510

    sed & awk 第二版学习(四)—— 基本 sed 命令

    这是因为一旦执行这个命令,那么在“空”模式空间中就不会再有命令执行,即不允许在被删除上进行进一步操作。删除命令会导致读取输入行,而编辑脚本则从头开始新一轮。...实际上,它删除当前行并且在该位置放置所提供文本。当想要匹配并且整体取代它时可以使用这个命令。...下一步 下一步(n)命令输出模式空间内容,然后读取输入下一。它总是在读入新之后从脚本顶端开始。next 命令改变了正常流控制(直到到达脚本底部才会输出模式空间内容)。...如果一个脚本中有多个指令写到同一个文件,那么每个写命令都将内容追加到这个文件中。而且,每个脚本最多只能打开 10 个文件。 读命令对于将一个文件内容插入到另一个文件中特定位置很有用。...后面的命令不会影响从这个文件中读取

    7310

    UNIX 入门指南 – 什么是 Shell 脚本

    Shell 是用户访问 Unix 操纵系统接口。它接收用户输入,然后基于该输入执行程序。程序执行完后,结果会显示在显示器上。 Shell 就是运行指令、程序 Shell 脚本运行环境。...每一种 Shell 都有其特定指令函数集。 Shell 提示符 提示符 $ 被称为命令提示符。当显示命令提示符后,用户就可以键入命令。...Bourne shell通常是安装在大多数版本 Unix /bin/sh 目录。由于这个原因,在不同版本 Unix 上也会选择这种 Shell 来编写脚本。...Shell 脚本有条件语句(A 大于 B)、循环语句、读取文件存储数据、读取变量且存储数据,当然,Shell 脚本也包括函数。 Shell 脚本函数都是翻译型语言,所以他们并不会被编译。...称为 bang 为了创建包含这些指令脚本,用户需要先键入 shebang ,然后键入指令: #!/bin/bash pwd ls Shell 注释 可以像下面一样来为脚本添加注释: #!

    1K00

    shell脚本语言(超全超详细)

    指定解析器)但是第一还是要写 注意:windows下 写脚本 在linux下执行 注意 4、变量 案例: 案例:读取多个值 案例只读变量: 查看环境变量:env 导出环境变量 作用:(让其他...shell 是一种脚本语言 脚本:本质是一个文件,文件里面存放特定格式指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译) shell 既是应用程序 又是一种脚本语言...unix文件 方法一:dos2unix 如果没有该插件 需要安装 sudo apt-get install dos2unix dos2unix shell脚本 转换成功就可以执行运行 方法二:...需要用vi打开脚本,在最后一模式下执行 :set ff=unix 4、变量 定义变量 变量名=变量值 如:num=10 引用变量 $变量名 unset :清除变量值 运行结果...: 从键盘获取值read 运行结果: 案例: 在一上显示添加提示 需要加上-p 运行结果: 案例:读取多个值 运行结果: 案例只读变量: 运行结果

    2.7K20

    从npm、npx说起,到shell

    背景:目前整个我们前端工程栈有多处 CLI(包括工具、模板等等),CLI 带来了巨大便利性,但其在 Windows 下执行往往 Mac/Unix 系统下表现不同。...其能运行于大多数 Unix 系统操作系统之上,包括 Linux Mac OS 都将他作为默认 shell。...Ctrl + C:中止当前正在执行命令。 Shift + PageUp:向上滚动。 Shift + PageDown:向下滚动。 Ctrl + U:从光标位置删除到首。...脚本 Shebang 脚本第一通常是指定解释器,即这个脚本必须通过什么解释器执行。这一以#!字符开头,这个字符称为 Shebang,所以这一就叫做 Shebang 。 #!...后面就是脚本解释器位置,Bash 脚本解释器一般是/bin/sh或/bin/bash。 #!/bin/sh # 或者 #!/bin/bash #!与脚本解释器之间有没有空格,都是可以

    3.9K20

    软件测试|Linux三剑客之awk命令详解

    图片简介awk 是一种强大文本处理工具,在 Unix Unix 系统中广泛使用。它允许您在文本文件中进行复杂数据处理格式化输出。...打印特定列:awk '{ print $n }' input_file此命令将打印 input_file 文件第n列。...awk文件中读取脚本awk 允许将脚本命令存储到文件中,然后再在命令行中引用,比如:cat awk.sh{print $1 "'s home directory is " $6}$ awk -F: -f...默认情况下,awk 会从输入中读取文本,然后针对该行数据执行程序脚本,但有时可能需要在处理数据前运行一些脚本命令,这就需要使用 BEGIN 关键字。...BEGIN 会强制 awk 在读取数据前执行该关键字后指定脚本命令,例如:awk 'BEGIN {print "The fruits.txt Contents:"}> {print $0}' fruits.txtThe

    40320

    如何友好把PythonBash结合在一起

    随着Linux社区对命令行依赖不断增长,UNIX shell(如bashzsh)已发展成为极其强大工具,可以补充UNIX shell经验。...使用bash其他类似的shell,可以使用许多强大功能,例如管道,文件名通配符以及从称为脚本文件中读取命令功能。 让我们看一个真实示例来演示命令行功能。...脚本之间代码重用往往很困难,并且脚本往往非常特定于某个问题。 用于高级功能(例如HTML解析或HTTP请求)库不像现代编程脚本语言那样容易获得。...在这种情况下使用Python优点如下: 与catsort等工具链接能力。简单实用程序(逐行读取文件并以数字方式对文件进行排序)由久经考验UNIX命令处理。...为了展示以模块化管道方式组合Python脚本强大功能,让我们进一步把问题放大。让我们找到该服务前五名用户。head是一个命令,它允许您指定一定数量以显示给定标准输入。

    99710

    MySQL8 中文参考(八)

    mysql.server 一个服务器启动脚本。该脚本用于使用包含启动特定运行级别系统服务脚本 System V 风格运行目录系统。它调用mysqld_safe来启动 MySQL 服务器。...“登录路径”是一个只允许特定选项选项组:host、user、password、portsocket。客户端程序使用--login-path选项指定从.mylogin.cnf中读取哪个登录路径。...在 Unix Unix 系统上,MySQL 程序按照以下表中显示顺序从文件中读取启动选项(先列出文件先读取,后读取文件优先)。...表 6.2 Unix Unix 系统上读取选项文件 文件名 目的 /etc/my.cnf 全局选项 /etc/mysql/my.cnf 全局选项 *SYSCONFDIR*/my.cnf 全局选项...例外情况:即使使用--defaults-file,mysqld会读取mysqld-auto.cnf,客户端程序会读取.mylogin.cnf。 请参阅本节介绍有关此选项可能指定位置约束。

    15410

    Python 入门指南第二节 | 使用 Python 解释器

    在 Windows 机器上,Python 通常安装在 C:\Python35 位置,当然你可以在运行安装向导时修改此值。...Python 解释器具有简单编辑功能。在 Unix 系统上,任何 Python 解释器都可能已经添加了 GNU readline 库支持,这样就具备了精巧交互编辑历史记录等功能。...Python 解释器有些操作类似 Unix shell:当使用终端设备(tty)作为标准输入调用时,它交互解释并执行命令;当使用文件名参数或以文件作为标准输入调用时,它读取文件并将文件作为 脚本 执行...使用脚本文件时,经常会运行脚本然后进入交互模式。这也可以通过在脚本之前加上 -i 参数来实现。 2.1.1. 参数传递 调用解释器时,脚本附加参数传入一个名为 sys.argv 字符串列表。...你能够获取这个列表通过执行 import sys,列表长度大于等于1;没有给定脚本参数时,它至少也有一个元素:sys.argv[0] 此时为空字符串。

    39531

    Shell脚本之常用Linux命令使用介绍

    读取输入数据重新格式化后输出,它擅长将标准输入数据转换成命令行参数,而且能够处理管道或者stdin并将其转换成特定命令命令参数,也可以将单行或多行文本输入转换为其他格式,例如多行变单行以及单行变多行...xargs 默认命令是echo 意味着通过管道传递给 xargs 输入将会包含换行空白,不过通过 xargs 处理,换行空白将被空格取代。...-L num # 从标准输入一次读取 num 送给 command 命令。...定义一个测试文件,内有多行文本数据: $cat test.txt a b c d e f g h i j k l m n o p q r s t u v w x y z #示例1.多行输入单行输出指定输出....读取stdin将格式化后参数传递给命令 #假设一个命令为 sk.sh 一个保存参数文件arg.txt: #!

    1.3K20

    600个常用Linux命令大全,从A到Z

    exit 用于退出当前运行shell expa 将制表符转换为文件中空格,当未指定文件时,它会从标准输入中读取 expect 此命令或脚本语言适用于需要用户输入脚本,通过提供输入来自动执行任务...getent 用于获取许多称为数据库重要文本文件中条目 gpasswd 用于管理 /etc/group /etc/gshadow grep 在文件中搜索特定字符模式,并显示包含该模式所有.../移动到左一个位置。...虚拟作业有助于延迟执行 source 用于读取执行文件内容(通常是一组命令),在当前 shell 脚本中作为参数传递 sort 用于对文件进行排序,按特定顺序排列记录 split 用于将大文件拆分成小文件...uniq 用于报告或过滤掉文件中重复 unix2dos 将 Unix 文本文件转换为 DOS 格式 until 用于执行一组命令,只要“直到”命令中最后一个命令退出状态不为零 uptime 用于找出系统活动

    48311

    Linux命令大全,从A到Z都有总结,封神之作!

    cal 用于查看特定月份或全年日历,默认情况下,它显示当前月份日历作为输出 case 当我们不得不在单个变量上使用多个 if/elif 时,这是最好选择 cat 从文件中读取数据并将其内容作为输出...它以后缀表达式形式计算表达式 dd Unix Unix 操作系统命令行实用程序,其主要目的是转换复制文件 declare 用于声明shell变量函数...expa 将制表符转换为文件中空格,当未指定文件时,它会从标准输入中读取 expect 此命令或脚本语言适用于需要用户输入脚本,通过提供输入来自动执行任务 export 是 bash shell...grep 在文件中搜索特定字符模式,并显示包含该模式所有 groupadd 用于创建新用户组...虚拟作业有助于延迟执行 source 用于读取执行文件内容(通常是一组命令),在当前 shell 脚本中作为参数传递 sort 用于对文件进行排序

    2.3K02

    Python学习之如何使用Python解释器

    Python 解释器具有简单编辑功能。在 Unix 系统上,任何 Python 解释器都可能已经添加了 GNU readline 库支持,这样就具备了精巧交互编辑历史记录等功能。...Python 解释器有些操作类似 Unix shell:当使用终端设备(tty)作为标准输入调用时,它交互地解释并执行命令;当使用文件名参数或以文件作为标准输入调用时,它读取文件并将文件作为 脚本 执行...使用脚本文件时,经常会运行脚本然后进入交互模式。这也可以通过在脚本之前加上 -i 参数来实现。 1.1. 参数传递 调用解释器时,脚本附加参数传入一个名为 sys.argv 字符串列表。...你能够通过执行import sys 来获取这个列表,列表长度大于等于1;没有给定脚本参数时,它至少也有一个元素:sys.argv[0] 此时为空字符串。...注意,这种标记方法在旧 Python 版本中(2.2 及更早)是不能识别的,同样也不能被能够处理 #! (只在 Unix 系统上使用)操作系统识别。

    1.2K20

    软件测试|Linux三剑客之awk命令详解

    简介 awk 是一种强大文本处理工具,在 Unix Unix 系统中广泛使用。它允许您在文本文件中进行复杂数据处理格式化输出。...打印特定列: awk '{ print $n }' input_file 此命令将打印 input_file 文件第n列。...awk文件中读取脚本 awk 允许将脚本命令存储到文件中,然后再在命令行中引用,比如: cat awk.sh {print $1 "'s home directory is " $6} $ awk -F...默认情况下,awk 会从输入中读取文本,然后针对该行数据执行程序脚本,但有时可能需要在处理数据前运行一些脚本命令,这就需要使用 BEGIN 关键字。...BEGIN 会强制 awk 在读取数据前执行该关键字后指定脚本命令,例如: awk 'BEGIN {print "The fruits.txt Contents:"} > {print $0}' fruits.txt

    31540
    领券