linux-字符替换

news2024/11/19 6:03:29

tr

##把输出的信息中的小写换成大写

[root@localhost tmp]# last | tr ‘[a-z]’ ‘[A-Z]’

ROOT     PTS/0        :0               MON DEC 29 08:09   STILL LOGGED IN

ROOT     :0           :0               MON DEC 29 08:08   STILL LOGGED IN

(UNKNOWN :0           :0               MON DEC 29 06:48 - 08:08  (01:20)

REBOOT   SYSTEM BOOT  3.10.0-123.EL7.X MON DEC 29 14:47 - 08:21  (-6:-25)

ROOT     PTS/0        :1               THU DEC 25 07:52 - 09:20  (01:28)

ROOT     :1           :1               THU DEC 25 06:58 - 09:21  (02:22)

(UNKNOWN :1           :1               THU DEC 25 06:58 - 06:

##把输出的信息中的冒号(:)删除

[root@localhost tmp]# last | tr -d ‘:’

root     pts/0        0               Mon Dec 29 0809   still logged in

root     0           0               Mon Dec 29 0808   still logged in

(unknown 0           0               Mon Dec 29 0648 - 0808  (0120)

reboot   system boot  3.10.0-123.el7.x Mon Dec 29 1447 - 0823  (-6-24)

root     pts/0        1               Thu Dec 25 0752 - 0920  (0128)

root     1           1               Thu Dec 25 0658 - 0921  (0222)

##复制文件并转换其编码

[root@localhost tmp]# cp /etc/passwd /tmp/passwd && \

unix2dos /tmp/passwd

##查看文件的编码

[root@localhost tmp]# file /etc/passwd /tmp/passwd

/etc/passwd: ASCII text

/tmp/passwd: ASCII text

[root@localhost tmp]#

[root@localhost tmp]# cat /tmp/passwd |tr -d ‘\r’ > /tmp/passwd.linux[root@localhost tmp]# ls -l /etc/passwd /tmp/passwd*

-rw-r–r–. 1 root root 2824 Dec 25 08:33 /etc/passwd

-rw-r–r–. 1 root root 2824 Dec 29 08:25 /tmp/passwd

-rw-r–r–. 1 root root 2824 Dec 29 08:31 /tmp/passwd.linux

[root@localhost tmp]#

col

##显示文件中的特殊字符

[root@localhost tmp]# cat-A /tmp/passwd

bash: cat-A: command not found…

[root@localhost tmp]# cat -A /tmp/passwd

root❌0:0:root:/root:/bin/bash$

bin❌1:1:bin:/bin:/sbin/nologin$

daemon❌2:2:daemon:/sbin:/sbin/nologin$

adm❌3:4:adm:/var/adm:/sbin/nologin$

lp❌4:7:lp:/var/spool/lpd:/sbin/nologin$

##把输入的文件结果中的^I[tab]转成空白并输出

[root@localhost tmp]# cat /etc/man_db.conf |col -x|cat -A|more

#$

#$

This file is used by the man-db package to configure the man and cat p

aths.$

It is also used to provide a manpath for those without one by examinin

g$

their PATH environment variable. For details see the manpath(5) man pa

ge.$

#$

Lines beginning with `#’ are comments and are ignored. Any combination

of$

##把man page 转换为 /root/col.man 纯文本文档

[root@localhost tmp]# man col > /tmp/col.man

[root@localhost tmp]# vi /tmp/col.man

[root@localhost tmp]#

join

处理两个文件之间的数据

##把/etc/passwd /etc/shadow相关数据整合成一栏

[root@localhost tmp]# head -n 3 /etc/passwd /etc/shadow

==> /etc/passwd

root❌0:0:root:/root:/bin/bash

bin❌1:1:bin:/bin:/sbin/nologin

daemon❌2:2:daemon:/sbin:/sbin/nologin

==> /etc/shadow

root: 6 6 6zoMJbbV16.vhU23Q$NsUMn8D8d6IaAsE5BNywpVZbS5ZvVkV11l7WhHZt8X82DZpsRu6o48pIpFcssK1wSCF6Sb4hYdp/lJSF5kGBh.:16412:0:99999:7:::

bin:*:16231:0:99999:7:::

daemon:*:16231:0:99999:7:::

[root@localhost tmp]#

##两份文档第一个字段相同者整合成一行

[root@localhost tmp]# join -t ‘:’ /etc/passwd /etc/shadow

root❌0:0:root:/root:/bin/bash: 6 6 6zoMJbbV16.vhU23Q$NsUMn8D8d6IaAsE5BNywpVZbS5ZvVkV11l7WhHZt8X82DZpsRu6o48pIpFcssK1wSCF6Sb4hYdp/lJSF5kGBh.:16412:0:99999:7:::

bin❌1:1:bin:/bin:/sbin/nologin:*:16231:0:99999:7:::

daemon❌2:2:daemon:/sbin:/sbin/nologin:*:16231:0:99999:7:::

adm❌3:4:adm:/var/adm:/sbin/nologin:*:16231:0:99999:7:::

lp❌4:7:lp:/var/spool/lpd:/sbin/nologin:*:16231:0:99999:7:::

sync❌5:0:sync:/sbin:/bin/sync:*:16231:0:99999:7:::

shutdown❌6:0:shutdown:/sbin:/sbin/shutdown:*:16231:0:99999:7:::

halt❌7:0:halt:/sbin:/sbin/halt:*:16231:0:99999:7:::


[root@localhost tmp]# head -n 3 /etc/passwd /etc/group

==> /etc/passwd

root❌0:0:root:/root:/bin/bash

bin❌1:1:bin:/bin:/sbin/nologin

daemon❌2:2:daemon:/sbin:/sbin/nologin

==> /etc/group

root❌0:

bin❌1:

daemon❌2:

[root@localhost tmp]#

[root@localhost tmp]# join -t ‘:’ -1 4 /etc/passwd -2 3 /etc/group

0:root❌0:root:/root:/bin/bash:root❌

1:bin❌1:bin:/bin:/sbin/nologin:bin❌

2:daemon❌2:daemon:/sbin:/sbin/nologin:daemon❌

4:adm❌3:adm:/var/adm:/sbin/nologin:adm❌

join: /etc/passwd:6: is not sorted: sync❌5:0:sync:/sbin:/bin/sync

7:lp❌4:lp:/var/spool/lpd:/sbin/nologin:lp❌

join: /etc/group:11: is not sorted: wheel❌10:

99:nobody❌99:Nobody:/:/sbin/nologin:nobody❌

81:dbus❌81:System message bus:/:/sbin/nologin:dbus❌

999:polkitd❌999:User for polkitd:/:/sbin/nologin:polkitd❌

[root@localhost tmp]#

paste

把两份文档相关的数据 写在一起并用[tab]隔开

[root@localhost tmp]# paste /etc/passwd /etc/shadow|head -n 3

root❌0:0:root:/root:/bin/bash        root: 6 6 6zoMJbbV16.vhU23Q$NsUMn8D8d6IaAsE5BNywpVZbS5ZvVkV11l7WhHZt8X82DZpsRu6o48pIpFcssK1wSCF6Sb4hYdp/lJSF5kGBh.:16412:0:99999:7:::

bin❌1:1:bin:/bin:/sbin/nologin        bin:*:16231:0:99999:7:::

daemon❌2:2:daemon:/sbin:/sbin/nologin daemon:*:16231:0:99999:7:::

[root@localhost tmp]#

expand

把tab转换成空格

[root@localhost tmp]# grep ‘jimi’ passwd | head -n 3

jimistephen❌1000:1000:jimistephen:/home/jimistephen:/bin/bash

jimi❌1001:1001:www.jimi.com:/home/jimi:/bin/bash

[root@localhost tmp]#

##一个tab换成 6个空格

[root@localhost tmp]# grep ‘jimi’ passwd |head -n 3| expand -t 6 -| \

cat -A

jimistephen❌1000:1000:jimistephen:/home/jimistephen:/bin/bash$

jimi❌1001:1001:www.jimi.com:/home/jimi:/bin/bash$

[root@localhost tmp]#

split 分割文档

##每10条记录记录成一个文件

[root@localhost tmp]# ls -al /| split -l 10 - lsroot

[root@localhost tmp]# wc -l lsroot*

10 lsrootaa

10 lsrootab

4 lsrootac

24 total

[root@localhost tmp]#

xargs 参数的切换

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【进阶系列】正则表达式 #匹配

正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。re模块使 Python 语言拥有全部的正则表达式功能。 一个正则表达式的匹配工具:regex101: build, test, and debug regex s "C:\\a\\b\\c" pri…

【技术解析】Dolphinscheduler实现MapReduce任务的高效管理

MapReduce是一种编程模型,用于处理和生成大数据集,主要用于大规模数据集(TB级数据规模)的并行运算。本文详细介绍了Dolphinscheduler在MapReduce任务中的应用,包括GenericOptionsParser与args的区别、hadoop jar命令参…

Debezium-MySqlConnectorTask

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 MySqlConnectorTask,用于读取MySQL的二进制日志并生成对应的数据变更事件 整体架构流程 技术名词解释 数据库模式(Database Schema) 数据库模式是指数据库中数据的组织结构和定义&…

剧本杀门店预约小程序,解锁沉浸式推理体验

一、开发背景 剧本杀作为一种热门娱乐游戏,深受大众的欢迎,但随着市场的快速发展,竞争也在不断加大,对于剧本杀线下商家来说面临着发展创新。 剧本杀线下门店数量目前正在逐渐增加,竞争激烈,而门店的获客…

今天你学C++了吗——C++启航之入门知识

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…

【element-tiptap】Tiptap编辑器核心概念----结构篇

core-concepts 前言:这篇文章来介绍一下 Tiptap 编辑器的一些核心概念 (一)结构 1、 Schemas 定义文档组成方式。一个文档就是标题、段落以及其他的节点组成的一棵树。 每一个 ProseMirror 的文档都有一个与之相关联的 schema,…

LC69---219存在重复元素(滑动窗口)---Java版

1.题目描述 2.思路 3.代码实现 public class Solution { public boolean containsNearbyDuplicate(int[] nums, int k) {Map<Integer,Integer> m1new HashMap<>();// 1:0, 2:1,3:2,1:3 key存数组的值&#xff0c;value存索引&#xff0c;为getnum[i]做准备&am…

【C++】了解map和set及平衡二叉树和红黑树的原理

目录 ​编辑 一、关联式容器 二、 键值对 三、pair介绍 四、树形结构的关联式容器 4.1 set 4.2 map 4.3 multiset 4.4 multimaps 五、底层结构&#xff08;重点&#xff09; 5.1 AVL 树 5.1.1 AVL树的概念 5.1.2 AVL树节点的定义 5.1.3 AVL树的旋转 5.1.4 AVL树的…

LeetCode 力扣 热题 100道(五)最长回文子串(C++)

最长回文子串 给你一个字符串 s&#xff0c;找到 s 中最长的 回文子串。 回文性 如果字符串向前和向后读都相同&#xff0c;则它满足 回文性 子字符串子字符串 是字符串中连续的 非空 字符序列。 动态规划法 class Solution { public:string longestPalindrome(string s) {i…

Spring Boot汽车资讯:科技与汽车的新融合

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了汽车资讯网站的开发全过程。通过分析汽车资讯网站管理的不足&#xff0c;创建了一个计算机管理汽车资讯网站的方案。文章介绍了汽车资讯网站的系统分析部分&…

逆向攻防世界CTF系列41-EASYHOOK

逆向攻防世界CTF系列41-EASYHOOK 看题目是一个Hook类型的&#xff0c;第一次接触&#xff0c;虽然学过相关理论&#xff0c;可以看我的文章 Hook入门(逆向)-CSDN博客 题解参考&#xff1a;https://www.cnblogs.com/c10udlnk/p/14214057.html和攻防世界逆向高手题之EASYHOOK-…

【网络】HTTP 协议

目录 基本概念基于 HTTP 的系统组成HTTP 的基本性质 HTTP 请求头 & 响应头HTTP 的请求方法HTTP 的返回码HTTP 的 CookieHTTP 缓存 Cache-Control会话HTTP/1.x 的连接管理 基本概念 HTTP&#xff08;Hypertext Transfer Protocol&#xff0c;超文本传输协议&#xff09;是一…

执行flink sql连接clickhouse库

手把手教学&#xff0c;flink connector打通clickhouse大数据库&#xff0c;通过下发flink sql&#xff0c;来使用ck。 组件版本jdk1.8flink1.17.2clickhouse23.12.2.59 1.背景 flink官方不支持clickhouse连接器&#xff0c;工作中难免会用到。 2.方案 利用GitHub大佬提供…

笔记|M芯片MAC (arm64) docker上使用 export / import / commit 构建amd64镜像

很简单的起因&#xff0c;我的东西最终需要跑在amd64上&#xff0c;但是因为mac的架构师arm64&#xff0c;所以直接构建好的代码是没办法跨平台运行的。直接在arm64上pull下来的docker镜像也都是arm64架构。 检查镜像架构&#xff1a; docker inspect 8135f475e221 | grep Arc…

免费送源码:Java+Springboot+MySQL Springboot多租户博客网站的设计 计算机毕业设计原创定制

Springboot多租户博客网站的设计 摘 要 博客网站是当今网络的热点&#xff0c;博客技术的出现使得每个人可以零成本、零维护地创建自己的网络媒体&#xff0c;Blog站点所形成的网状结构促成了不同于以往社区的Blog文化&#xff0c;Blog技术缔造了“博客”文化。本文课题研究的“…

代码随想录第46期 单调栈

这道题主要是单调栈的简单应用 class Solution { public:vector<int> dailyTemperatures(vector<int>& T) {vector<int> result(T.size(),0);stack<int> st;st.push(0);for(int i1;i<T.size();i){if(T[i]<T[st.top()]){st.push(i);}else{wh…

【Three.js基础学习】24. shader patterns

前言 课程回顾: ShaderMaterial 这里用的是着色器材质 所以顶点和片段着色器就不需要像原始着色器那样添加需要的属性 然后写 片段着色器需要属性 &#xff1a; 顶点 属性 -》变化 -》 片段中 顶点中的属性不需要声明 只需要声明传送的变量 例如 varying vec vUv; vUv uv; 补充…

力扣整理版七:二叉树(待更新)

满二叉树&#xff1a;如果一棵二叉树只有度为0的结点和度为2的结点&#xff0c;并且度为0的结点在同一层上&#xff0c;则这棵二叉树为满二叉树。深度为k&#xff0c;有2^k-1个节点的二叉树。 完全二叉树&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能没填满外&am…

173. 二叉搜索树迭代器【 力扣(LeetCode) 】

文章目录 零、原题链接一、题目描述二、测试用例三、解题思路四、参考代码 零、原题链接 173. 二叉搜索树迭代器 一、题目描述 实现一个二叉搜索树迭代器类BSTIterator &#xff0c;表示一个按中序遍历二叉搜索树&#xff08;BST&#xff09;的迭代器&#xff1a; BSTIterato…

自动驾驶系列—深入解析自动驾驶车联网技术及其应用场景

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…