【busybox记录】【shell指令】cut

2024-05-08 06:20
文章标签 记录 指令 shell cut busybox

本文主要是介绍【busybox记录】【shell指令】cut,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

内容来源:

【GUN】【cut】指令介绍

【busybox】【cut】指令介绍

【linux】【cut】指令介绍

使用示例:

关于参数的特殊说明:

打印行中选定部分 - 输出每行的第n-m个字节

打印行中选定部分 - 输出每行的第n-m个字符

打印行中选定部分 - 输出每行的第n-m个字段(字段默认由制表符分隔)

打印行中选定部分 - 输出每行的第n-m个字段(修改分隔符为空格)

打印行中选定部分 - 只输出包含分隔符的行

打印行中选定部分 - 把指定的分隔符换成其他字符

常用组合指令:

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


内容来源:

        GUN : Coreutils - GNU core utilities

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

【GUN】【cut】指令介绍

cut:打印行中选定的部分
cut 将每个输入文件中每行的选定部分写入标准输出,如果没有给出文件或文件名为' - ',则写入标准输入。
简介:
cut option... [file]...
在下面的表中,字节列表、字符列表和字段列表是一个或多个由逗号分隔的数字或范围(两个数字由破折号分隔)。字节、字符和字段从1开始编号。可以给出不完整的范围:-m表示` 1-m `;` n- `表示` n `到行尾或最后一个字段。链表元素可以重复、重叠,也可以按任意顺序指定;但是所选输入的写入顺序与读取顺序相同,并且只写入一次。
该程序接受以下选项。参见第2章[常见选项],第2页。
‘-b byte-list’
‘--bytes=byte-list’选择只打印字节列表中列出的位置的字节。制表符和退格符的处理与任何其他字符一样;它们占用1字节。如果指定了输出定界符(参见--output-delimiter的说明),则在选定的字节范围之间输出该字符串。
‘-c character-list’
‘--characters=character-list’选择只打印字符列表中列出的位置的字符。目前与-b相同,但国际化将改变这一点。制表符和退格符的处理与任何其他字符一样;它们占据了一个字符。如果指定了输出定界符(参见--output-delimiter的说明),则在选定的字节范围之间输出该字符串。
‘-f field-list’
‘--fields=field-list’选择只打印字段列表中列出的字段。字段默认由制表符分隔。打印任何不包含分隔符的行,除非指定了--only-delimited (-s)选项。awk 命令支持更复杂的字段处理,比如重新排序字段,以及处理与空白字符对齐的字段。默认情况下,awk使用(或丢弃)一系列空白字符来分隔字段,并忽略首尾空格。awk '{print $2}'      #打印第二个字段awk '{print $(NF-1)}' #打印倒数第二个字段awk '{print $2,$1}'  #重新排序前两个字段cut接受任意顺序的字段规范,但输出总是按照文件中遇到的顺序。如果没有awk,也可以使用join命令,像上面的awk那样处理空白字符。join -a1 -o 1.2 - /dev/null     #打印第二个字段join -a1 -o 1.2,1.1 - /dev/null #重新排序前两个字段
‘-d input_delim_byte’
‘--delimiter=input_delim_byte’使用-f时,使用输入delim字节的第一个字节作为输入字段分隔符(默认为TAB)。
‘-n’ 不要拆分多字节字符(暂时没有操作)。
‘-s’
‘--only-delimited’对于-f,不打印不包含字段分隔符的行。正常情况下,没有字段分隔符的行会逐字打印。
‘--output-delimiter=output_delim_string’使用-f,输出字段由输出delim字符串分隔。-f的默认用法是使用输入定界符。当使用-b或-c来选择字节或字符偏移量的范围时(与字段的范围相反),output将字符串分隔在所选字节的不重叠范围之间。
‘--complement’这个选项是一个GNU扩展。Select用于打印用-b、-c或-f选项选择的字节、字符或字段的补码。换句话说,不要打印通过这些选项指定的字节、字符或字段。当你有很多字段,并且想打印除少数字段外的所有字段时,这个选项很有用。
‘-z’
‘--zero-terminated’用0字节而不是换行符分隔项(ASCII LF)。例如,将输入视为用ASCII NUL分隔的项目,并以ASCII NUL终止输出项目。此选项可以与` perl -0 `或` find -print0 `和` xargs -0 `一起使用,它们的作用相同,以便可靠地处理任意文件名(即使是包含空格或其他特殊字符的文件名)。
退出状态为零表示成功,非零值表示失败。

【busybox】【cut】指令介绍

NA

【linux】【cut】指令介绍

[root@localhost bin]# cut --help
用法:cut [选项]... [文件]...
Print selected parts of lines from each FILE to standard output.如果没有指定文件,或者文件为"-",则从标准输入读取。必选参数对长短选项同时适用。-b, --bytes=列表		    只选中指定的这些字节-c, --characters=列表		只选中指定的这些字符-d, --delimiter=分界符	使用指定分界符代替制表符作为区域分界-f, --fields=LIST       select only these fields;  also print any linethat contains no delimiter character, unlessthe -s option is specified-n                      with -b: don't split multibyte characters--complement		补全选中的字节、字符或域-s, --only-delimited		不打印没有包含分界符的行--output-delimiter=字符串	使用指定的字符串作为输出分界符,默认采用输入的分界符-z, --zero-terminated    以 NUL 字符而非换行符作为行尾分隔符--help		显示此帮助信息并退出--version		显示版本信息并退出仅使用f -b, -c 或-f 中的一个。每一个列表都是专门为一个类别作出的,或者您可以用逗号隔
开要同时显示的不同类别。您的输入顺序将作为读取顺序,每个仅能输入一次。
Each range is one of:N     N'th byte, character or field, counted from 1N-    from N'th byte, character or field, to end of lineN-M   from N'th to M'th (included) byte, character or field-M    from first to M'th (included) byte, character or fieldGNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 cut 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreu

使用示例:

关于参数的特殊说明:

N          第N个字节、字符或字段,从1开始计数

N-         从第N个字节、字符或字段到行尾

N-M       从第N'到第M'(包含)个字节、字符或字段

-M         从第一个字节到第M个(包括)字节、字符或字段

打印行中选定部分 - 输出每行的第n-m个字节

-b 选项

指令: cut test1.txt -b 1

指令: cut test1.txt -b 2

指令: cut test1.txt -b 1-2

打印行中选定部分 - 输出每行的第n-m个字符

-c 选项

指令: cut test1.txt -c 1

指令: cut test1.txt -c 2

指令: cut test1.txt -c 1-2

指令: cut test1.txt -c 1,2

打印行中选定部分 - 输出每行的第n-m个字段(字段默认由制表符分隔)

-f 选项

指令: cut test1.txt -f 1

指令: cut test1.txt -f 2

指令: cut test1.txt -f 1,2

打印行中选定部分 - 输出每行的第n-m个字段(修改分隔符为空格)

-f / -d选项, -d选项修改默认分隔符,本示例中修改为1

指令: cut test1.txt -f 1 -d "1"

指令: cut test1.txt -f 2 -d "1"

指令: cut test1.txt -f 3 -d "1"

指令: cut test1.txt -f 4 -d "1"

指令: cut test1.txt -f 1,3 -d "1"

指令: cut test1.txt -f 1-3 -d "1"

打印行中选定部分 - 只输出包含分隔符的行

-s 选项

指令:cut test1.txt -f 1-3 -d "1" -s

打印行中选定部分 - 把指定的分隔符换成其他字符

--output-delimiter=output_delim_string 选项

指令: cut test1.txt -f 1-3 -d "1" --output-delimiter="||||"

常用组合指令:

NA

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

这篇关于【busybox记录】【shell指令】cut的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/969551

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

工作常用指令与快捷键

Git提交代码 git fetch  git add .  git commit -m “desc”  git pull  git push Git查看当前分支 git symbolic-ref --short -q HEAD Git创建新的分支并切换 git checkout -b XXXXXXXXXXXXXX git push origin XXXXXXXXXXXXXX

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

学习记录:js算法(二十八):删除排序链表中的重复元素、删除排序链表中的重复元素II

文章目录 删除排序链表中的重复元素我的思路解法一:循环解法二:递归 网上思路 删除排序链表中的重复元素 II我的思路网上思路 总结 删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 图一 图二 示例 1:(图一)输入:head = [1,1,2]输出:[1,2]示例 2:(图

Android中如何实现adb向应用发送特定指令并接收返回

1 ADB发送命令给应用 1.1 发送自定义广播给系统或应用 adb shell am broadcast 是 Android Debug Bridge (ADB) 中用于向 Android 系统发送广播的命令。通过这个命令,开发者可以发送自定义广播给系统或应用,触发应用中的广播接收器(BroadcastReceiver)。广播机制是 Android 的一种组件通信方式,应用可以监听广播来执行

perl的学习记录——仿真regression

1 记录的背景 之前只知道有这个强大语言的存在,但一直侥幸自己应该不会用到它,所以一直没有开始学习。然而人生这么长,怎就确定自己不会用到呢? 这次要搭建一个可以自动跑完所有case并且打印每个case的pass信息到指定的文件中。从而减轻手动跑仿真,手动查看log信息的重复无效低质量的操作。下面简单记录下自己的思路并贴出自己的代码,方便自己以后使用和修正。 2 思路整理 作为一个IC d

SSM项目使用AOP技术进行日志记录

本步骤只记录完成切面所需的必要代码 本人开发中遇到的问题: 切面一直切不进去,最后发现需要在springMVC的核心配置文件中中开启注解驱动才可以,只在spring的核心配置文件中开启是不会在web项目中生效的。 之后按照下面的代码进行配置,然后前端在访问controller层中的路径时即可观察到日志已经被正常记录到数据库,代码中有部分注释,看不懂的可以参照注释。接下来进入正题 1、导入m

mysql中导入txt文件数据的操作指令

1 表tt的格式:    CREATE TABLE `tt` (   `ind` int NOT NULL auto_increment,   `name` char(100) default NULL,   PRIMARY KEY  (`ind`)  )   2 文件d.txt的内容示例:  1,a  2,b  3,c