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

如何将0/1编码值与同一文件中提供的键匹配,并在bash中重写为行(而不是列表)

在bash中,我们可以使用0/1编码值与同一文件中提供的键进行匹配,并将其重写为行而不是列表。以下是实现这个过程的步骤:

  1. 首先,我们需要将0/1编码值和键存储在一个文件中,假设文件名为codes.txt。codes.txt的格式如下:
代码语言:txt
复制

0 key1

1 key2

0 key3

1 key4

代码语言:txt
复制

其中,每一行表示一个0/1编码值和对应的键。

  1. 接下来,我们可以使用bash脚本来实现匹配和重写的过程。假设脚本名为rewrite.sh。脚本的内容如下:
代码语言:bash
复制

#!/bin/bash

读取codes.txt文件的每一行

while read -r code key; do

代码语言:txt
复制
   # 判断0/1编码值是否与提供的键匹配
代码语言:txt
复制
   if [[ "$code" == "0" ]]; then
代码语言:txt
复制
       # 将匹配的键重写为行输出
代码语言:txt
复制
       echo "$key"
代码语言:txt
复制
   fi

done < codes.txt

代码语言:txt
复制

在脚本中,我们使用了一个while循环来逐行读取codes.txt文件。然后,我们使用if语句判断0/1编码值是否与提供的键匹配。如果匹配成功,我们将键重写为行输出。

  1. 保存并退出rewrite.sh脚本。
  2. 打开终端,进入脚本所在的目录,并给予脚本执行权限:
代码语言:bash
复制

chmod +x rewrite.sh

代码语言:txt
复制
  1. 运行脚本:
代码语言:bash
复制

./rewrite.sh

代码语言:txt
复制

脚本将会输出与0/1编码值匹配的键,每个键占一行。

这样,我们就实现了将0/1编码值与同一文件中提供的键匹配,并在bash中重写为行的功能。请注意,以上答案中没有提及任何特定的云计算品牌商,如有需要,可以根据实际情况选择适合的云计算平台和相关产品。

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

相关·内容

Shell脚本——内置命令

一、内置命令 所谓 Shell 内置命令,就是由 Bash 自身提供的命令,而不是文件系统中的某个可执行文件。...现在你应该能理解类似ll这样的命令为什么与ls -l的效果是一样的吧。 三、echo命令 echo 是一个 Shell 内建命令,用来在终端输出字符串,并在最后默认加上换行符。...-e 在获取用户输入的时候,对功能键进行编码转换,不会直接显式功能键对应的字符。 -n num 读取 num 个字符,而不是整行字符。 -p prompt 显示提示信息,提示内容为 prompt。...如果不指定,默认状态值是 0。 一般情况下,退出状态为 0 表示成功,退出状态为非 0 表示执行失败(出错)了。...六、下表列出了 Bash Shell 中直接可用的内建命令 命令 说明 : 扩展参数列表,执行重定向操作 .

2.1K10
  • 「微服务架构」部署NGINX Plus作为API网关,第1部分

    第27到30行处理日志记录默认值和错误处理,并在响应中讨论错误部分如下。 单服务与微服务API后端 一些API可以在单个后端实现,但是出于弹性或负载平衡的原因,我们通常期望存在多个API。...第27行的指令指定当请求与任何API定义都不匹配时,NGINX Plus会返回错误而不是默认错误。...完整的错误响应列表在第29行的include伪指令引用的单独配置文件中定义,其前几行如下所示。如果首选不同的错误格式,并且通过更改第30行上的default_type值以匹配,则可以修改此文件。...第二个参数创建一个新变量($ api_client_name)并将其设置为第一个参数与键匹配的行上的第二个参数的值。...第23行处理API键与地图块中的任何键都不匹配的情况 - 在这种情况下,api_keys.conf第2行的默认参数将$ api_client_name设置为空字符串 - 我们发送403响应告诉身份验证失败的客户端

    2K20

    Git 中文参考(四)

    对于二进制文件,输出两个-而不是0 0。 --shortstat 仅输出--stat格式的最后一行,其中包含已修改文件的总数,以及已添加和已删除行的数量。...这有两个目的: 它影响了一个更改的方式,相当于一个文件的完全重写,而不是一系列的删除和插入混合在一起,只有几行恰好与文本作为上下文匹配,而是作为单个删除所有旧的后跟一个单个插入所有新内容,数字m控制-B...对于二进制文件,输出两个-而不是0 0。 --shortstat 仅输出--stat格式的最后一行,其中包含已修改文件的总数,以及已添加和已删除行的数量。...这有两个目的: 它影响了一个更改的方式,相当于一个文件的完全重写,而不是一系列的删除和插入混合在一起,只有几行恰好与文本作为上下文匹配,而是作为单个删除所有旧的后跟一个单个插入所有新内容,数字m控制-B...为 0 将导致仅输出完全匹配。 --exact-match 仅输出完全匹配(标记直接引用提供的提交)。这是–candidates = 0 的同义词。

    21510

    Unix & Linux 大学教程 学习总结

    Unix & Linux 大学教程    Harley Hahn 0,操作系统最重要功能 控制计算机并在计算机启动或者重新启动时初始化计算机 支持与计算机交互所使用的界面 为需要使用计算机资源(磁盘空间...、文件位置、处理时间、内存等)的程序提供接口 管理计算机的内存 维护并管理文件系统 调度工作 提供账户和安全服务 1,内核提供服务: 内存管理(虚拟内存管理,包括分页) 进程管理(进程创建、终止、调度...简单地讲,文件存放数据或者允许访问资源,而进程是正在执行的程序。 进程可以分成更小的单元,称为线程,线程是一组运行在进程环境中的指令。.../OK/(字符串OK所在行) [0-9][0-9]包含两个连续数字的行 -e 多条更改 -f 文件 33,正则表达式 元字符 . ^ $ \匹配单词的开头 \>    匹配单词的结尾 [abc...]    匹配abc中的任何字符 [^abc]    匹配不在abc中的任何字符 ()    组:视为一个单独的单元 |    匹配选择之一 \    引用:从字面上解释元字符 运算符 *    0或多次

    2.3K10

    常用 linux 命令集锦

    1.cat命令可以一次显示整个文件,如果文件比较大,使用不是很方便; 2.more命令可以让屏幕在显示满一屏幕时暂停,此时可按空格健继续显示下一个画面,或按Q键停止显示。...文件中,如果已经存在,file文件被重写。...多个替换可以在同一条命令中执行,用分号";"分隔,其格式为: # 同时执行两个替换规则 sed 's/^/添加的头部&/g;s/$/&添加的尾部/g' awk: awk语言的最基本功能是在文件或者字符串中基于指定规则浏览和抽取信息...如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以tab键分割 #cat /etc/passwd |awk -F ':' '{print $1"\t"$7}'...root /bin/bash daemon /bin/sh bin /bin/sh sys /bin/sh 如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell

    4.5K10

    培养这10个习惯,你就离UNIX高手更进一步了

    如果键入 f,然后按 Esc 键,将填充 file,之后你需要输入 1、2 或 3 来完成相应的文件名。 Bash Bash Shell 也提供了文件名补全功能,但它使用 的是Tab 键。...键入文件名的一部分后,按 Tab 键,如果有多个文件满足您的请求,并且您需要添加文本以选择其中一个文件,那么您可以多按 Tab 键两次,以显示与您目前键入的内容相匹配的文件的列表。...当按一次 Tab 键时,Bash 自动补全显示file;再按一次 Tab 键时,将展开列表 file1 file2 file3。...Korn Shell 对于 Korn Shell 用户,文件名补全功能取决于 EDITOR 变量的值。如果 EDITOR 设置为 vi,那么您键入部分名称,然后按 Esc 键后跟反斜杠 () 字符。...List 3 中的示例显示可以如何将此操作符与 !$ 运算符组合使用。在第一个命令中,将一个文件重新命名为更有意义的名称,但为了保持原始文件名可用,创建了一个符号链接。

    78920

    Spark RDD Dataset 相关操作及对比汇总笔记

    的RDD是根据哈希来分区的 RDD具体操作分为Transformation操作与Action操作,分别是 变换Transformation 变换的返回值是一个新的 RDD 集合,而不是单个值。...RDD> mapValues(scala.Function1 f) 对pair RDD中的每个值应用一个函数而不改变键 Pass each value in the key-value pair RDD...注意:这个过程会在每个分区第一次出现各个键时发生,而不是在整个RDD中第一次出现一个键时发生。)...如果这是一个在处理当前分区中之前已经遇到键,此时combineByKey()使用mergeValue()将该键的累加器对应的当前值与这个新值进行合并。...由于每个分区都是独立处理的,因此对于同一个键可以有多个累加器。如果有两个或者更多的分区都有对应同一个键的累加器,就需要使用用户提供的mergeCombiners()将各个分区的结果进行合并。

    1K10

    Git 中文参考(六)

    对于二进制文件,输出两个-而不是0 0。 --shortstat 仅输出--stat格式的最后一行,其中包含已修改文件的总数,以及已添加和已删除行的数量。...这有两个目的: 它影响了一个更改的方式,相当于一个文件的完全重写,而不是一系列的删除和插入混合在一起,只有几行恰好与文本作为上下文匹配,而是作为单个删除所有旧的后跟一个单个插入所有新内容,数字m控制-B...输出顺序由中的 glob 模式的顺序决定。首先输出所有与第一个模式匹配的路径名的文件,然后输出所有与第二个模式(但不是第一个模式)匹配的路径名的文件,依此类推。...而不是 1。 --numbered-files 输出文件名将是一个简单的数字序列,不附加提交的默认第一行。...为此,它们被重写为指向最近的未被排除的祖先。 退出状态 成功时,退出状态为0。如果过滤器找不到任何要重写的提交,则退出状态为2。在任何其他错误上,退出状态可以是任何其他非零值。

    28910

    Linux Shell基础篇三 - 内置命令

    内置命令 Shell 内置命令,就是由 Bash Shell 自身提供的命令,而不是文件系统中的可执行脚本文件。...:file :表示为外部可执行文件; alias :表示该指令为命令别名所设定的名称; builtin :表示该指令为 bash 内建的指令功能; -p 如果后面接的可执行文件为外部指令时,会显示出完整文件名...而执行内置命令相当于调用当前 Shell 进程的一个函数, 还是在当前Shell环境进程内, 减少了上下文切换。 内置命令列表 命令 说明 : 扩展参数列表,执行重定向操作 ....-e 在获取用户输入的时候,对功能键进行编码转换,不会直接显式功能键对应的字符。 -n num 读取 num 个字符,而不是整行字符。 -p prompt 显示提示信息,提示内容为prompt。...键(key)也即字符串形式的数组下标,值(value)也即元素值。

    1.4K30

    GitHub日收12000星,六个命令行工具引爆程序员圈!

    Funky的工作方式很简单:在进入一个目录时,Funky会查找一个包含bash函数列表的.funky文件。它会把这些文件加载,并在用户退出时卸载。...它的运行速度很快,而且在需要在命令行输入值的许多地方,它可以交互式地让你基于模糊关键字匹配筛选选项。...init zsh)" 二进制文件发出初始化脚本,而不是将初始化脚本转储到主目录,这是一种很好的做 法。...而Zoxide——下面要介绍的工具——也能做到这一点。此外,FZF会干扰McFly的 CTRL-R,必须注释掉FZF初始化脚本中的这一行以使McFly正常工作。...Gitupdate可以提交文件,并使用更改文件的文件名(而不是扩展名)来创建更有意义的提交消息。当提交消息不重要时,它非常有用。 ? GitUpdate生成提交消息、提交和推送。

    53420

    Linux基础命令行使用技巧

    ,vi 编辑模式为我们提供了更多的控制命令; 移动命令 #(1)vi 编辑模式中的移动命令 echo hello, this is a command #首先,按 Esc 键进入命令模式,此时光标位于...bash在每个命令后检查窗口大小,如果有必要,就更新LINES和COLUMNS的值 cmdhist on #bash试图将一个多行命令的所有行保存在同一个历史项中.这是的多行命令的重新编辑更方便...shell中.允许以#开头的词以及同一行中其他的字符被忽略.缺省为打开 lastpipe off lithist off #如果打开,且cmdhist选项也打开,多行命令讲用嵌入的换行符保存到历史中...nocasematch off nullglob off #如果设置,bash允许没有匹配任何文件的文件名模式扩展成一个空串,而不是他们本身 progcomp on...sourcepath on #如果设置source内置命令使用PATH的值来寻找作为参数提供的文件的目录.缺省为打开 syslog_history off xpg_echo

    6K20

    《数据密集型应用系统设计》读书笔记(三)

    每次调用 db_set 文件将追加新内容到文件末尾,即便多次更新某个键,旧版本的值也不会被覆盖,而是需要查看文件中「最后一次」出现的键来找到最新的值(在 db_get 中使用了 tail -n 1)。...由于页的碎片化,B-tree 存储引擎有时会使某些磁盘空间无法使用,而 LSM-tree 不是面向页的,且定期重写 SSTable 以消除碎片化。...二级索引可以较容易地基于 key-value 索引来构建,区别在于它的键不是唯一的,这可以通过两种方式解决: 使索引中的每个值成为匹配行标识符的列表 追加一些行标识符来使每个键变得唯一 无论使用哪种方式...1.5.1 在索引中存储值 索引中的键是查询搜索的对象,而值可以是以下两类之一: 实际的行(文档、顶点) 对其他地方存储的行的引用 对于第二种情况,存储行的具体位置被称为「堆文件」(heap file)...个不同值的列转化为 个单独的位图,每个位图对应一个不同的值,其中的一个位对应为一行,如果行具有该值,则该位为 1,否则为 0(相当于把一列具体数值变成了一坨仅包含 0 或 1 的文件)。

    1.1K50

    Git 中文参考(一)

    成功时,该命令返回退出状态码 0。 选项 --replace-all 默认行为是最多替换一行。它将会替换与键匹配的所有行(以及有可选的 value_regex)。...--get 获取给定键的值(可选择通过与值匹配的正则表达式进行过滤)。如果未找到对应键值,则返回错误状态码 1;如果找到多个键值对,则返回最后一个值。...--unset 从配置文件中删除与键匹配的行。 --unset-all 从配置文件中删除与键匹配的所有行。 -l --list 列出配置文件中设置的所有配置项及其值。....insteadOf 任何以此值开头的网址都会被重写,而不是以开头。...BUGS 使用不推荐使用的[section.subsection]语法时,如果子节中至少有一个大写字符,则更改值将导致添加多行键而不是更改。

    29720

    一篇文章学习 linux 命令

    键会执行当前匹配的命令,而按下右方向键会将匹配项放入当前行中,不会直接执行,以便做出修改)。...此外,当 Bash 脚本只需要一个参数时,可以使用这样的代码 input_file=${1:?usage: $0 input_file}。在变量为空时使用默认值:${name:-default}。...使用 man ascii 查看具有十六进制和十进制值的ASCII表。man unicode,man utf-8,以及 man latin1 有助于你去了解通用的编码信息。...-type f -ls 假设你有一个类似于 web 服务器日志文件的文本文件,并且一个确定的值只会出现在某些行上,假设一个 acct_id 参数在 URI 中。...tac:反向输出文件 shuf:文件中随机选取几行 comm:一行一行的比较排序过的文件 strings:从二进制文件中抽取文本 tr:转换字母 iconv 或 uconv:文本编码转换 split 和

    2.2K22

    Linux基础命令行使用技巧

    WeiyiGeek. ---- vi 编辑模式 描述:与 Emacs 编辑模式相比,vi 编辑模式为我们提供了更多的控制命令; 移动命令 #(1)vi 编辑模式中的移动命令 echo hello...bash在每个命令后检查窗口大小,如果有必要,就更新LINES和COLUMNS的值 cmdhist on #bash试图将一个多行命令的所有行保存在同一个历史项中.这是的多行命令的重新编辑更方便...shell中.允许以#开头的词以及同一行中其他的字符被忽略.缺省为打开 lastpipe off lithist off #如果打开,且cmdhist选项也打开,多行命令讲用嵌入的换行符保存到历史中...nocasematch off nullglob off #如果设置,bash允许没有匹配任何文件的文件名模式扩展成一个空串,而不是他们本身 progcomp on...sourcepath on #如果设置source内置命令使用PATH的值来寻找作为参数提供的文件的目录.缺省为打开 syslog_history off xpg_echo

    5.9K63

    Linux 之 Vim 编辑器从基础到大成使用

    -o/-O #示例3.显示多个文件与退出当打开多个文件时候,再文件中进行切换 :ls #列出所有打开的文件 # 1 # "1.txt" 第 1 行 # 2 %a "...2.txt" 第 1 行 #表示当前行 :n #文件后退 :N或者:prev #依次回到前一个文件 #示例4.打开一个文件 :o filename #打开一个新文件到当我文件列表中...#示例5.同一个编辑器的缓冲区是剪贴板是共享的,可以方便在多个文件中复制 :e /tmp/a #在同一个编辑器内打开/tmp/a文件 #示例6.退出多个编辑器与快捷键 :q #退出 :!...: :BundleList:列举出列表中(.vimrc中)配置的所有插件 :BundleInstall :安装列表中全部插件 :BundleInstall!...vimrc配置文件无法识别.py后缀路径 原因:Vim 称 *.py 文件的 filetype 为 python 而不是 py; 解决方法: #方式1 au BufRead,BufNewFile *

    2K10

    一文入门Python 3

    content = input("\n\n请输入点东西并按 Enter 键\n") print(content) 同一行写多条语句 Python 可以在同一行中使用多条语句,语句之间使用分号;分割。...]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 list.remove(obj) 移除列表中某个值的第一个匹配项 list.reverse() 反向排序列表的元素 list.sort...返回指定键的值,如果值不在字典中返回默认值 dict.items() 以列表形式返回可遍历的(键, 值)元组数组 dict.keys() 以列表返回一个字典所有的键 dict.values() 以列表返回字典中的所有值...可更改与不可更改对象 在 Python 中,字符串,数字和元组是不可更改的对象,而列表、字典等则是可以修改的对象。...whence 的值, 如果是 0 表示开头, 如果是 1 表示当前位置, 2 表示文件的结尾。whence 值为默认为0,即文件开头。

    1.2K20

    Vim编辑器基础入门

    -o/-O #示例3.显示多个文件与退出当打开多个文件时候,再文件中进行切换 :ls #列出所有打开的文件 # 1 # "1.txt" 第 1 行 # 2 %a "...2.txt" 第 1 行 #表示当前行 :n #文件后退 :N或者:prev #依次回到前一个文件 #示例4.打开一个文件 :o filename #打开一个新文件到当我文件列表中...#示例5.同一个编辑器的缓冲区是剪贴板是共享的,可以方便在多个文件中复制 :e /tmp/a #在同一个编辑器内打开/tmp/a文件 #示例6.退出多个编辑器与快捷键 :q #退出 :!...: :BundleList:列举出列表中(.vimrc中)配置的所有插件 :BundleInstall :安装列表中全部插件 :BundleInstall!...vimrc配置文件无法识别.py后缀路径 原因:Vim 称 *.py 文件的 filetype 为 python 而不是 py; 解决方法: #方式1 au BufRead,BufNewFile *

    1.8K20
    领券