cut命令 -d -f

article/2025/9/27 12:34:12

 

https://blog.csdn.net/u011700318/article/details/38554581?utm_source=distribute.pc_relevant.none-task

https://blog.csdn.net/RHEL_admin/article/details/37508101?ops_request_misc=%7B%22request%5Fid%22%3A%22158217786119725211963913%22%2C%22scm%22%3A%2220140713.130056874..%22%7D&request_id=158217786119725211963913&biz_id=0&utm_source=distribute.pc_search_result.none-task

https://blog.csdn.net/Frozen_fish/article/details/2260804?utm_source=distribute.pc_relevant.none-task

https://www.runoob.com/linux/linux-comm-cut.html

参数:

  • -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。  byte
  • -c :以字符为单位进行分割。  char
  • -d :自定义分隔符,默认为制表符。  define
  • -f :与-d一起使用,指定显示哪个区域。   fields   一般用以指定分隔符后的第几列
  • -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
    范围之内,该字符将被写出;否则,该字符将被排除

语法:  必须指定 -b、-c 或 -f 标志之一。

  • cut [-bn] [file]
  • cut [-c] [file]
  • cut [-df] [file]

例子:

1、英文字符

[root@rhel6164 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@rhel6164 ~]# echo $PATH | cut -d ':' -f 2,4-6 #使用:分割后,选择打印出第2,4,5,6段信息
/usr/local/bin:/bin:/usr/sbin:/usr/bin
————————————————[root@rhel6164 ~]# echo $PATH | cut -c 2 #以字符为单位来分割,然后打印出第二个字符
u
————————————————[root@rhel6164 ~]# echo $PATH | cut -b 2,4 #打印出第二个和第四个字节
ur

2、汉字

    GBK编码下,一个汉字占2个字节;
    UTF-8编码下,一个汉字占3个字节
    UTF-8是一种国际通用的一种变长编码,ASCII对应的字符在UTF-8下占1个字符,西方文字(希腊文字)占2个字符,中文占用3个字节数,还有    平面符号占4个字节。

cat testch.txt 
我 的 兴 趣 是
羽 毛 球 篮 球cat testch.txt |cut -b 1-3(截取字节位置为1-3)  一个汉字相当于3个byte
我
羽cat testch.txt |cut -c 1-2
我
羽cat testch.txt |cut -b 3-5,8(截取字节位置为3-5和第8个字节)

3、以区域定位(有固定分隔符

为什么会有“域”的提取呢,因为刚才提到的-b和-c只能在固定格式的文档中提取信息,而对于非固定格式的信息则束手无策。这时候“域”就派上用场了。如果你观察过/etc/passwd文件,你会发现,它并不像who的输出信息那样具有固定格式,而是比较零散的排放。但是,冒号在这个文件的每一行中都起到了非常重要的作用,冒号用来隔开每一个项。

以/etc/passwd的前五行内容为例:

[rocrocket@rocrocket programming]$ cat /etc/passwd|head -n 3
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

-d自定义分隔符(若不定义,默认分隔符为制表符),-f设置返回第几列,例如3-5或者4-类似的格式:

[rocrocket@rocrocket programming]$ cat /etc/passwd|head -n 2|cut -d : -f 1,3-5
root:0:0:root
bin:1:1:bin

 补充unique用法:(先sort再uniq)

        uniq只作用于相邻的重复行,即相隔的重复行不会去掉;所以要先排序sort再去重uniq

        cat test.txt |cut -f 3-4,5|sort|uniq


4、区分空格符和制表符

空格符:   cat xxx.txt|head -2|cut -d' ' -f 1-3

制表符:   cat xxx.txt|head -2|cut -f 1-3  (默认分隔符为制表符,直接获取列即可)

A1、B1、C1所代表的行字符之间均以TAB分隔,D1却是以空格来分开的。

-s的作用:(筛选得到真正制表符的行)

第一行不含有任何TAB字符,所以直接被剔除了。

D1行,是以空格区分间距,所以也不合要求。

 

5、替换分隔符(  --output-delimiter='#' )

 


http://chatgpt.dhexx.cn/article/nsotkaFu.shtml

相关文章

C语言产生随机数并写入文件中

在C语言中&#xff0c;我们一般使用 <stdlib.h> 头文件中的 rand() 和srand()函数来生成随机数&#xff0c;如果要保证每次产生的随机数不重复&#xff0c;需要在每次产生随机序列前&#xff0c;先指定不同的种子&#xff0c;这样计算出来的随机序列就不会完全相同了。可…

c语言对于随机数的产生于应用,c语言之产生随机数详解

在编程中,我们经常需要用到各种随机数,下面我来简单谈谈随机数产生机理。 原理:产生随机机数的原理是计算机根据一个值(一般称作随机种子),然后把这个值作为参数,在经过一系列的公式运算计算出一个值,这个值就是随机数。简单来说,就像 一个关于我们的数学函数,给定它一…

c语言产生随机数不变怎么办,用C语言产生随机数。怎么办?

满意答案 axhbl 2013.01.15 采纳率&#xff1a;42% 等级&#xff1a;2 已帮助&#xff1a;29986人 "#include #include #include #define SIZE 100 void main() { int numbers[SIZE]; int i, j; srand(time(NULL)); for (i 0; i < SIZE; i) { numbers[i] rand(…

MPP 技术简述,Hadoop 与 MPPDB 的区别

精选30云产品&#xff0c;助力企业轻松上云&#xff01;>>> 整理 OLAP 引擎的时候&#xff0c;遇到了 MPP &#xff0c;所以再次总结一下。 1、 什么是MPP&#xff1f; MPP (Massively Parallel Processing)&#xff0c;即大规模并行处理&#xff0c;在数据库非共享…

MPP DB 是 大数据实时分析系统 未来的选择吗?

大数据领域&#xff0c;实时分析系统&#xff08;在线查询&#xff09;是最常见的一种场景&#xff0c;前面写了一个《实时分析系统(HIVE/HBASE/IMPALA)浅析》讨论业界当前常见的方案。互联网公司用得比较多是HIVE/HBASE&#xff0c;如腾讯基于HIVE深度定制改造&#xff0c;改名…

MPPDB分布式结构化数据库

1.MPPDB简介 MPP&#xff0c;它是一款 Shared Nothing 架构的分布式并行数据库集群&#xff0c;具备高性能、高可用、高扩展特性&#xff0c;可以为超大规模数据管理提供高性价比的通用计算平台&#xff0c;并广泛地用于支撑各类数据仓库系统、BI 系统和决策支持系统。 2.MPPDB…

mppdbLibra

1&#xff1a;三种数据库架构、特征、应用 数据库架构中shared-nothing等三个之间的优缺点&#xff09; 1.shared-everything 一般是针对单个主机&#xff0c;完全透明共享CPU/MEMORY/IO&#xff0c;并行处理能力是最差的&#xff0c;典型的代表是SMP技术 2.Shared-Disk&#…

MPPDB集群高可用设计

目录 1. 前言 2. 内核端高可用设计 2.1 GTM高可用 2.2 CN高可用 2.3 DN高可用 2.3.1 主、备、从高可用设计 2.3.2 数据复制 3. 集群管理端高可用设计 3.1 CMserver高可用 3.2 CMagent高可用 1. 前言 MPPDB集群服务组件主要分为内核端和集群管理端&#xff0c;内核端主要包括…

java JButton计算器布局

java JFrame大体框架 this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //窗体退出关闭程序 this.frame.setVisible(true); //该框架显示 this.frame new JFrame(“簡易計算器”); // 该面板的名字 this.frame.setLocation(100,100); //最初该面板定位 this.frame.…

java jbutton 省略号_JButton显示省略号

我正在尝试使用Swing库在Java中设置GUI。我创建了一个自定义按钮类&#xff0c;它具有自定义初始化程序&#xff0c;使事情变得更容易。它在下面&#xff1a; public class JTButton extends JButton { char type; public JTButton(String title, ActionListener listener, cha…

java jbutton_Java JButton按钮使用

/** *JButton按钮按键 * */ package com.swing; import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; class jbutton extends JFrame{ private JButton btn1,btn2,btn3,btn4,btn5; public static void main(String[] args){ jbutton jbnew …

JButton

JButton()&#xff1a;设置一个没有文本图案的按钮 JButton(String text):创建一个带文本的按钮 getContentPane().add(组件) package apiapi;import javax.swing.*;public class api {public static void main(String[] args) {JFrame framenew JFrame();frame.setTitle(&q…

java按钮组件(JButton、JCheckBox)

按钮在Swing中是比较常见的组件&#xff0c;用于触发特定动作&#xff0c;Swing中提供多种按钮组件&#xff0c;如按钮、单选按钮、复选框等&#xff0c;这些按钮都是从AbstractButton类中继承而来的&#xff0c;下面将讲解这些按钮的应用。 1.JButton按钮组件 Swing中的按钮…

JButton部分常用的方法

本篇文章将会教会大家JButton常用的使用方法 JButton是Swing的组件所以需要导入包 import javax.swing.*;1创建JButton //创建JButton JButton jButton new JButton(); //将JButton添加到面板里 jPanel.add(jButton);2设置JButton大小以及坐标 //设置JButton大小 jButton.…

07.JavaSwing(常用基础组件——JButton类)

一、概述 JButton组件是最简单的按钮组件&#xff0c;在按下和释放2个状态之间进行切换&#xff0c;可以通过捕捉按下并释放的动作执行一些操作&#xff0c;从而完成和用户之间的交互。 二、构造函数 JButton();//创建不带有设置文本或图标的按钮。 JButton(Icon icon);//创建…

【CSS】使HTML页面表格中文字水平且垂直居中的方法(易错)

问题出现 因为是td直接写的文字&#xff0c;并不是套了标签才写&#xff0c;水平居中很清楚就是text-aline: center; 但是垂直居中始终没有得到很好地解决&#xff0c;查找了网上的样式是vertical-align: middle&#xff1b; 试了一下没有效果&#xff0c;很苦恼。 解决办法 …

css水平垂直居中方式总结

这里写目录标题 1. text-align: center;文字水平居中&#xff1b;margin: 0 auto;自身水平居中2. 绝对定位margin&#xff08;元素需要固定宽高&#xff09;3. 绝对定位 transform: translate(-50%,-50%);4. 绝对定位margin: auto;5.父元素设置display: flex;justify-content: …

CSS水平垂直居中的几种实现方式

水平垂直居中 1.利用 position:absolute2. 利用margin:auto3. 利用弹性盒子4. 利用水平对齐和行高5. 最简便的方法 1.利用 position:absolute <div class"father"><div class"son"></div> </div>当已知元素宽度和高度时&#xff…

div+css实现水平/垂直/水平垂直居中超详解

目录 一、水平居中1.块级元素水平居中方法一:设置margin:0 auto方法二:设置flex布局方法三:设置css3的transform 2.行内元素水平居中行内元素在块级元素中水平居中方法一&#xff1a;将外层块级元素设置为text-align&#xff1a;center方法二&#xff1a;将行内元素设置为块级元…

16种CSS水平垂直居中方法

16种css水平垂直居中方法以及应用&#xff08;文字、图片&#xff09; 一、垂直居中 1、行内元素 基本思想&#xff1a;单行文本子元素line-height 值为父元素 height 值 .parent {height: 200px; }.son {line-height: 200px; }2、块级元素 2.1行内块级元素 基本思想&…