【busybox记录】【shell指令】ptx

目录

内容来源:

【GUN】【ptx】指令介绍

【busybox】【ptx】指令介绍

【linux】【ptx】指令介绍

使用示例:

常用组合指令:

指令不常用/组合用法还需继续挖掘:


内容来源:

        GUN : Coreutils - GNU core utilities

        busybox v1.36.1 : 【busybox记录】【shell指令】基于的Busybox的版本和下载方式-CSDN博客

【GUN】【ptx】指令介绍

ptx:生成置换索引
ptx 读取一个文本文件,本质上生成一个置换索引,每个关键字都在其上下文中。调用的sketch可以是:
ptx [option ...] [file ...]
ptx -G[选项…[输入[输出]]
-G(或其等效:--traditional)选项禁用所有GNU扩展并恢复到传统模式,从而引入一些限制并更改程序的一些默认选项值。当不指定-G时,总是启用GNU扩展。在本文档中适当的地方列出了ptx的GNU扩展。完整的列表参见第7.5.5节[ptx中的兼容性],第68页。
以下各节将解释各个选项。
当启用GNU扩展时,选项后面可能有零个、一个或几个文件。如果没有文件,程序就读取标准输入。如果有一个或几个文件,它们给出输入文件的名称,这些输入文件依次读取,就像所有输入文件连接在一起一样。
然而,每个文件之间都有一个完整的上下文分隔符,并且当请求自动引用时,文件名和行号指向单个文本输入文件。在所有情况下,程序都会将排序后的索引输出到标准输出。
当GNU扩展未启用时,即程序在传统模式下运行时,除了选项之外,可能还有零个、一个或两个参数。如果没有参数,则程序读取标准输入,并将置换后的索引输出到标准输出。
如果只有一个参数,它将命名要读取的文本输入,而不是标准输入。如果给出了两个参数,它们分别给出要读取的输入文件的名称和要生成的输出文件的名称。要非常小心:在这种情况下,由第二个参数指定的file的内容会被销毁。这种行为由System V ptx兼容性决定。GNU标准通常不鼓励非由选项引入的输出参数。
对于任何以选项值命名的文件或作为输入文本文件的文件,可以使用单破折号'-',在这种情况下,假定标准输入。但是,对于每个程序调用,多次使用这种约定是没有意义的。
7.5.1通用选项
‘-G’
‘--traditional’
如前所述,该选项禁用对ptx的所有GNU扩展,并切换到传统模式。
‘--help’ 
在标准输出上打印一个简短的帮助信息,然后退出,不做进一步处理。
‘--version’
在标准输出上打印程序版本,然后退出,不再做进一步处理。
退出状态为零表示成功,非零值表示失败。
7.5.2字符集选择
根据现在的设置,ptx假设输入文件是使用8位字符编码的,在多字节语言环境中可能不能很好地工作。在单字节语言环境中,关键字的默认正则表达式允许使用外文字母或变音符号字母。然而,关键字排序仍然很粗糙;
它完全盲目地遵循底层的字符集顺序。ptx的输出假定是区域设置的字符编码。
例如,使用ptx的-T选项,如果语言环境使用Latin-1编码,你可能需要像‘\usepackage[latin1]{inputenc}’这样的LaTeX指令来正确渲染非ascii字符。
‘-f’
‘--ignore-case’
将小写字母叠成大写字母进行排序。
7.5.3选词和输入处理
‘-b file’
‘--break-file=file’
	这个选项提供了一种替代(与-W相比)的方法,用于描述哪些字符是由哪些字符组成的单词。它介绍了一个文件的名称,其中包含一个字符列表,不能是一个单词的一部分;这个文件称为Break文件。任何不属于Break文件的字符都是一个单词组成部分。如果同时指定了选项-b和-W,则-W具有优先级,-b将被忽略。
	当启用GNU扩展时,避免换行符作为换行符的唯一方法是在文件中写入所有换行符,而不包含换行符,即使在文件末尾也不包含换行符。当禁用GNU扩展时,空格、制表符和换行符总是被视为断行字符,即使断行文件中没有包含这些字符。
‘-i file’
‘--ignore-file=file’
	与此选项相关联的文件包含一个单词列表,这些单词永远不会被用作 concordance 输出的关键字。它被称为忽略文件。该文件每行只包含一个单词;单词的行尾分隔不受-S选项值的影响。
‘-o file’
‘--only-file=file’
	与此选项相关联的文件包含一个单词列表,将保留在concordance输出中;这个文件中没有提到的词将被忽略。该文件称为唯一文件(Only file)。该文件每行只包含一个单词;单词的行尾分隔不受-S选项值的影响。
	唯一的文件没有默认值。在同时指定了only文件和ignore文件的情况下,只有当某个单词出现在only文件中而不在ignore文件中时,该单词才被认为是关键字。
‘-r’
‘--references’
	在每一行输入上,前导的非空白字符序列将被作为一个参考,用于在产生的置换索引中标识该输入行。有关参考产品的更多信息,请参阅第7.5.4节[ptx中的输出格式],第66页。
	使用这个选项会改变option -S的默认值。
	使用这个选项,程序不会试图从输出的上下文中删除引用,但当上下文正好以换行符结束时,它会成功地删除引用。
	如果option -r与-S默认值一起使用,或者当GNU扩展被禁用时,这个条件总是被满足,并且引用完全被排除在输出上下文之外。
‘-S regexp’
‘--sentence-regexp=regexp’
	此选项选择描述行尾或句子结尾的正则表达式。事实上,这个正则表达式并不是行尾和句子结尾的唯一区别,输入行边界除了这个选项之外没有什么特别的意义。
	默认情况下,当启用GNU扩展时,如果不使用-r选项,则使用句子的结尾。在这种情况下,这个正则表达式从GNU Emacs中导入:
	[.?!][]\"')}]*\\($\\|\t\\| \\)[ \t\n]*
	每当GNU扩展被禁用或使用-r选项时,行尾将被使用;在这个例子中,默认的regexp是:
	\n
	使用空regexp等同于完全禁用行尾或句尾识别。在这种情况下,整个文件被认为是一个大的行或句子。用户可能还想通过option -F ""禁止所有截断标志的生成。请参阅GNU Emacs手册中的“正则表达式语法”一节。
	当关键字碰巧出现在输入行或句子的开头时,通常会在输出上下文行开头创建一个未使用的区域;
	当关键字恰好位于输入行或句子的末尾时,这通常会在输出上下文行的末尾创建一个未使用的区域。程序试图通过将context包裹在其中来填充这些未使用的区域;输入行或句子的尾部用于填充输出行的左侧未使用的区域;输入行或句子的开头用于填充输出行的右侧未使用的区域。
	为了方便用户,许多来自C语言的常用反斜杠转义序列可以被ptx识别并转换为相应的字符。
‘-W regexp’
‘--word-regexp=regexp’
	此选项选择描述每个关键字的正则表达式。默认情况下,如果启用了GNU扩展,单词是字母序列;这里使用的regexp是‘\w+’。当禁用GNU扩展时,一个单词默认是任何以空格、制表符或换行符结尾的东西;这里使用的regexp是‘[^ \t\n]+’.
	空的regexp等同于不使用这个选项。请参阅GNU Emacs手册中的“正则表达式语法”一节。
	为方便用户,在C语言中可以找到许多常用的反斜杠转义序列,ptx本身可以识别并转换为相应的字符。
7.5.4格式化输出
输出格式主要由下表中描述的-O和-T选项控制。
如果既不选择-O也不选择-T,并且启用了GNU扩展,程序将选择适合哑终端的输出格式。每次出现关键字都会输出到一行的中间,由左右上下文包围。
每个字段都是正确的,因此可以很容易地观察到一致性输出。作为一个特殊功能,如果自动引用是通过option -A选择的,并且在左侧上下文之前输出,也就是说,如果option -R没有被选择,那么在引用之后添加一个冒号;
这与GNU Emacs下一个错误处理很好地结合在一起。在这种默认的输出格式中,每个空格字符(如换行符和制表符)只会被更改为一个空格,而不会对连续的空格进行特殊的压缩。这在未来可能会改变。
除了这些空白字符,底层的256个字符集中的所有其他字符都会逐字传送。
输出格式由下列选项进一步控制。
‘-g number’
‘--gap-size=number’
	选择输出行上字段之间的最小空白间隙的大小。
‘-w number’
‘--width=number’
	选择每一行的最大输出宽度。如果使用了引用,则它们是否包含在最大输出宽度中,这取决于option -R的值。如果没有选择此选项,也就是说,当引用在左侧上下文之前输出时,最大输出宽度将考虑所有引用的最大长度。
	如果选择了这个选项,也就是说,当引用在正确的上下文之后输出时,最大输出宽度不考虑引用所占用的空间,也不考虑它们之前的间隙。
‘-A’
‘--auto-reference’
	选择自动引用。每个输入行都有一个自动引用,由文件名和行序号组成,它们之间有一个冒号。
	但是,在读取标准输入时,文件名将为空。如果同时选中-A和-r,则仍然读取并跳过输入引用,但在输出时使用自动引用,覆盖输入引用。
‘-R’
‘--right-side-refs’
	在默认的输出格式中,当不使用选项-R时,由选项-R或-A产生的任何引用都被放置在输出行的最右边,在右侧上下文之后。
	使用默认的输出格式,当指定-R选项时,引用被放置在每一行输出的开头,在左侧上下文之前。对于其他输出格式,option -R将被忽略,但有一个例外:
	使用-R时,引用宽度不会被考虑到由-w给出的总输出宽度中。当禁用GNU扩展时,此选项将自动选择。
‘-F string’
‘--flag-truncation=string’
	此选项将要求使用字符串string报告输出中的任何截断。理论上,大多数输出字段会扩展到当前行或当前句子的开始或结束,这取决于使用option -S选择的范围。
	但是有一个最大允许的输出行宽度,可以通过选项-w改变,它被进一步划分为各种输出字段的空间。当字段不能扩展到当前行的开头或结尾以适应其中而必须截断时,就会发生截断。默认情况下,使用的字符串是一个斜杠,如-F /。
	字符串可以包含多个字符,如-F ....此外,在string为空的特殊情况下(-F ""),会禁用截断标记,在这种情况下不会添加截断标记。
	为方便用户,在C语言中可以找到许多常用的反斜杠转义序列,ptx本身可以识别并转换为相应的字符。
‘-M string’
‘--macro-name=string’
	选择另一个字符串来代替' xx ',同时生成适合nroff、troff或TEX的输出。
‘-O’
‘--format=roff’
	选择适合nroff或troff处理的输出格式。每一行输出如下所示:
	.xx "tail" "before" "keyword_and_after" "head" "ref"
	所以可以写一个'.xx' roff宏来处理输出排版。这是禁用GNU扩展时的默认输出格式。Option -M可用于将'xx'更改为另一个宏名称。
	在这种输出格式中,每个非图形字符(如换行符和制表符)只会被更改为一个空格,而不会对连续的空格进行特殊的压缩。每个引号字符‘"’被加倍,因此它将被nroff或troff正确处理。
‘-T’
‘--format=tex’
选择适合TEX处理的输出格式。每一行输出如下所示:
\xx {tail}{before}{keyword}{after}{head}{ref}
因此,可以编写一个\xx定义来处理输出排版。当不产生引用时,即option -A和option -r都不被选中时,\xx调用的最后一个参数将被禁止。选项-M可用于将'xx'更改为另一个宏名称。
在这种输出格式中,一些特殊字符,如‘$’, ‘%’, ‘&’, ‘#’ 和 ‘_’会自动使用反斜杠进行保护。大括号'{','}'由反斜杠和一对$符号保护(以强制数学模式)。
反斜杠本身产生的序列是\反斜杠{}。回旋变音符号和波浪号分别产生序列^\{}和~\{}。底层字符集的其他变音符化字符尽可能产生适当的TEX序列。
其他非图形字符,如换行符和制表符,以及所有其他不属于ASCII的字符,只会被更改为一个空格,而不会对连续的空格进行特殊的压缩尝试。
让我知道如何改进对TEX的特殊字符处理。
7.5.5 ptx的GNU扩展
这个版本的ptx包含了一些在System V ptx中不存在的特性。除非被其他命令行选项覆盖,否则使用-G命令行选项会抑制这些额外的功能。有些GNU扩展无法通过覆盖恢复,所以如果你关心GNU扩展,简单的规则是避免使用-G。下面是这个程序和System V ptx之间的区别。
这个程序可以一次读取多个输入文件,它总是将结果写入标准输出。另一方面,System V ptx只读取一个文件,并将结果发送到标准输出,或者,如果命令中给出了第二个file参数,则发送到该文件。
不通过options引入输出参数是一种危险的做法,GNU会尽可能避免这种做法。因此,为了在GNU和System V之间移植使用ptx,您应该始终将它与单个输入文件一起使用,并始终期望在标准输出上得到结果。
如果配置器发现安装的ptx接受-G,您可能还想自动配置-G选项,以便ptx在使用ptx的产品中调用ptx。
在System V ptx中唯一可用的选项是选项-b、-f、-g、-i、-o、-r、-t和-w。所有其他选项都是GNU扩展,不在此枚举中重复。此外,在启用GNU扩展时,有些选项的含义略有不同,如下所述。
默认情况下,concordance的输出不支持troff或nroff格式。它的格式相当适合一个哑终端。troff或nroff输出仍然可以通过option -O选择。
除非使用-R选项,否则最大参考宽度将从总输出行宽度中减去。禁用GNU扩展后,在计算输出行宽度时不会考虑引用的宽度。
所有256字节,即使是ASCII NUL字节,总是从输入文件中读取和处理,而没有任何不利影响,即使禁用了GNU扩展。然而,System V ptx不接受8位字符,一些控制字符被拒绝,波浪线' ~ '也被拒绝。
输入行的长度仅受可用内存的限制,即使禁用了GNU扩展。但是,System V ptx只处理每行的前200个字符。
换行符(非单词)默认为除基础字符集的所有字母之外的所有字符,无论是否变音符号。当禁用GNU扩展时,换行符默认为空格、制表符和换行符。
该程序更好地利用了输出行宽度。如果禁用GNU扩展,程序会尝试模仿系统V ptx,但仍然有一些轻微的配置故障,这个程序不会完全重现。
用户既可以指定忽略文件,也可以指定唯一文件。这在System V ptx中是不允许的。

【busybox】【ptx】指令介绍

NA

【linux】【ptx】指令介绍

[root@localhost bin]# ptx --help
用法:ptx [选项]... [输入]... (不包括 -G 选项)
 或:ptx -G [选项]... [输入 [输出]]
Output a permuted index, including context, of the words in the input files.

如果没有指定文件,或者文件为"-",则从标准输入读取。

必选参数对长短选项同时适用。
  -A, --auto-reference           output automatically generated references
  -G, --traditional              behave more like System V 'ptx'
  -F, --flag-truncation=STRING   use STRING for flagging line truncations.
                                 The default is '/'
  -M, --macro-name=STRING        macro name to use instead of 'xx'
  -O, --format=roff              generate output as roff directives
  -R, --right-side-refs          put references at right, not counted in -w
  -S, --sentence-regexp=REGEXP   for end of lines or end of sentences
  -T, --format=tex               generate output as TeX directives
  -W, --word-regexp=正则表达式	使用正则表达式匹配每个关键字
  -b, --break-file=文件		以文件中包含的单词为分隔字符
  -f, --ignore-case		排序时合并小写字母和大写字母
  -g, --gap-size=数值		指定多个输出区块间的列间隙尺寸
  -i, --ignore-file=文件	从指定文件中读取忽略单词的列表
  -o, --only-file=文件		只从指定文件中读取单词列表
  -r, --references		设置每行的第一个区块为关联引用
  -t, --typeset-mode		 -- 此功能尚未实现 --
  -w, --width=数值		每列的输出宽度,不计关联引用
      --help		显示此帮助信息并退出
      --version		显示版本信息并退出

GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 ptx 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/ptx>
或者在本地使用:info '(coreutils) ptx invocation'

使用示例:

目前没有什么合适的例子,后续补充

常用组合指令:

NA

指令不常用/组合用法还需继续挖掘:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/601886.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

106短信群发平台在金融和法务行业的应用分析

一、金融行业应用 1.客户通知与提醒&#xff1a;银行、证券、保险等金融机构经常需要向客户发送各类通知和提醒&#xff0c;如账户余额变动、交易确认、扣费通知、理财产品到期提醒等。106短信群发平台可以快速、准确地将这些信息发送到客户的手机上&#xff0c;确保客户及时获…

.NET邮箱API发送邮件的步骤?怎么配置API?

.NET邮箱API发送邮件需要注意哪些&#xff1f;如何使用API发信&#xff1f; 在.NET环境中&#xff0c;使用邮箱API发送邮件是一个常见的需求。无论是企业级的邮件通知&#xff0c;还是个人项目中的邮件验证&#xff0c;都少不了.NET邮箱API的帮助。下面&#xff0c;AokSend将详…

我的创作纪念日(365天)

时间如白驹过隙&#xff0c;转眼间&#xff0c;我已经在技术写作这条路上走过了365个日夜。回望2023年5月9日&#xff0c;我敲下了第1篇技术博客的标题——《什么是代理IP&#xff1f;代理IP有什么用途》。那一天&#xff0c;平凡而又不平凡&#xff0c;因为我决定将自己的知识…

政安晨【零基础玩转各类开源AI项目】:基于Ubuntu系统本地部署使用GPT-SoVITS进行语音克隆与TTS语音生成

目录 介绍 什么是TTS 安装Miniconda 框架功能 测试通过的环境 开始 1. 安装好miniconda 2. 进入下载的GPT-SoVITS目录 3. 创建虚拟环境并执行脚本 4. 执行过程中可能会出错 5. 下载预训练模型 6. 训练过程中可能会报错 7. 使用过程中可能出错 8.以下是使用全过程…

信息安全管理体系介绍(含全套体系文档)

信息安全管理体系英文全称Information Security Management System&#xff0c;简称为ISMS&#xff0c;是1998年左右从英国发展起来的信息安全领域中的一个全新概念&#xff0c;是管理体系&#xff08;Management System&#xff0c;MS&#xff09;思想和方法在信息安全领域的应…

Flask-大体了解介绍

初识Flask Flask是使用 Python编写的Web微框架。Web框架可以让我们不用关心底层的请求响应处理&#xff0c;更方便高效地编写Web程序。 Flask主要有两个依赖&#xff0c;一个是WSGI&#xff08;Web Server Gateway Interface&#xff0c;Web服务器网关接口&#xff09;工具集…

探索大语言模型在信息提取中的应用与前景

随着人工智能技术的快速发展&#xff0c;大语言模型&#xff08;LLMs&#xff09;在自然语言处理&#xff08;NLP&#xff09;领域取得了显著的进展。特别是在信息提取&#xff08;IE&#xff09;任务中&#xff0c;LLMs展现出了前所未有的潜力和优势。信息提取是从非结构化文本…

ChatGPT-Next-Web漏洞利用分析(CVE-2023-49785)

1. 漏洞介绍 ​ 日常网上冲浪&#xff0c;突然粗看以为是有关Chat-GPT的CVE披露出来了&#xff0c;但是仔细一看原来是ChatGPT-Next-Web的漏洞。漏洞描述大致如下&#xff1a;&#xff08;如果有自己搭建了还没更新的速速修复升级防止被人利用&#xff0c;2.11.3已经出来了&am…

解决ModuleNotFoundError: No module named ‘skfuzzy‘,这个库全名可不叫skfuzzy哦,否则直接报错!!

ModuleNotFoundError: No module named skfuzzy 在这里插入图片描述在这里插入图片描述如何解决 ModuleNotFoundError: No module named skfuzzy 的问题&#xff1f;skfuzzy 模块介绍什么是模糊C均值聚类&#xff1f;skfuzzy 的应用如何使用 skfuzzy 进行模糊聚类 结论 如何解决…

数据结构-线性表-应用题-2.2-14

1&#xff09;算法基本设计思想&#xff1a; 2&#xff09;c语言描述&#xff1a; #define INT_MAX 0X7FFFFFFF int abs_(int a) {//绝对值if(a<0) return -a;else return a; } bool min(int a,int b,int c){if(a<b&&a<c) return true;else return false; } …

JAVA随记——集合篇

注意&#xff1a;作者之前的Java基础没有打牢&#xff0c;有一些知识点没有记住&#xff0c;所以在学习中出现了许多零散的问题。现在特地写一篇笔记总结一下&#xff0c;所以有些知识点不是很齐全。 集合中各类名词的关系 Collection集合为单列集合。 集合存储数据类型的特点…

案例导入说明.md

案例导入说明 为了演示多级缓存&#xff0c;我们先导入一个商品管理的案例&#xff0c;其中包含商品的CRUD功能。我们将来会给查询商品添加多级缓存。 1.安装MySQL 后期做数据同步需要用到 MySQL 的主从功能&#xff0c;所以需要大家在虚拟机中&#xff0c;利用 Docker 来运行一…

即将开幕,邀您共赴创新之旅“2024上海国际消费者科技及创新展览会”

备受期待的2024上海国际消费者科技及创新展览会&#xff08;以下简称“CTIS”&#xff09;即将于6月13日至15日亮相上海新国际博览中心N1-N3馆。 2024上海国际消费者科技及创新展览会总面积达40,000平方米&#xff0c;涵盖600余家展商&#xff0c;预计吸引40,000多位观众莅临现…

js原生写一个小小轮播案例

先上示例&#xff1a; 附上代码 html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content…

陪诊系统|陪诊小程序成品|陪诊系统功能

随着人们对健康的日益关注以及医疗技术的不断进步&#xff0c;陪诊小程序应运而生&#xff0c;通过提供陪同就医、医疗服务和健康管理等功能为患者和家庭成员提供了更多的便利和选择。本文将分析陪诊小程序的关键功能&#xff0c;以便更好地理解其在医疗领域的作用。 在陪诊小程…

SpringBoot过滤器简单构建详细教程以及与拦截器区别解释

作用范围&#xff1a;过滤器基于Servlet规范&#xff0c;作用于更广泛的层面&#xff0c;不仅限于Spring MVC&#xff0c;它可以拦截进入Web应用的所有请求&#xff0c;包括静态资源请求。过滤器可以对请求和响应的内容进行预处理和后处理。实现方式&#xff1a;过滤器需要实现…

iPhone 数据恢复软件 – 恢复丢失的 iPhone 数据

恢复丢失的 iPhone 数据&#xff0c;奇客数据恢复iPhone版。如今的 iPhone 用户在他们的设备上存储了大量数据&#xff0c;从照片和与亲人的文本对话到商业和医疗信息。其中一些是保密的&#xff1b;其中大部分内容都是非常个人化的&#xff1b;而且大多数一旦丢失就无法替代。…

4G水电燃气表定时拍照云端识别抄表仪器

通信方式&#xff1a;4G全网通 通信频段&#xff1a;B1/B3/B5/B8/B34/B38/B39/B40/B41 传输速率&#xff1a;最大10Mbps(DL)/最大5Mbps(UL) 传输功率&#xff1a;≤23dBm2dB 图片尺寸&#xff1a;640*480 JPG 图片大小&#xff1a;10~20K 光源条件&#xff1a;自带补光&a…

很好的Baidu Comate,使我的编码效率飞起!

文章目录 背景及简单介绍Baidu Comate安装功能演示总结 &#x1f381;写在前面&#xff1a; 观众老爷们好呀&#xff0c;这里是前端小刘不怕牛牛频道&#xff0c;今天牛牛在论坛发现了一款便捷实用的智能编程助手&#xff0c;就是百度推出的Baidu Comate。下面是Baidu Comate评…

html--互动星空

<!doctype html> <html> <head> <meta charset"utf-8"> <title>互动星空</title><style> html,body {margin:0;overflow:hidden;width:100%;height:100%;cursor:none;background:black;background:linear-gradient(to bot…
最新文章