当前位置: 首页 > article >正文

linux-字符替换

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.kler.cn/a/399715.html

相关文章:

  • 重构Action-cli前端脚手架
  • 阿里云引领智算集群网络架构的新一轮变革
  • Spring Boot教程之Spring Boot简介
  • SQLite 和 MySQL语法区别
  • Solana 区块链的技术解析及未来展望 #dapp开发#公链搭建
  • 【51单片机】LCD1602液晶显示屏
  • vue的声明周期
  • django从入门到精通(六)——auth认证及自定义用户
  • Flink是如何实现 End-To-End Exactly-once的?
  • three.js实现地球 外部扫描的着色器
  • react学习篇--创建项目
  • ScreenAgent CogAgent 安装日志
  • 乘法器为例:概述MCU与FPGA通过APB总线实现交互(fpgaAPB的简单使用)
  • opencv(c++)---访问图像像素、增加白噪点
  • MySQL的表的约束以及查询
  • 汽车资讯新动力:Spring Boot技术驱动
  • 统计从输入的两个整数a和b所确定的范围内(0 ~ 9)出现的次数(c基础)
  • SpringBoot源码解析(四):解析应用参数args
  • 马斯克诉OpenAI新进展:加入微软等被告
  • WPF的基础控件详解
  • 基于单片机的风能太阳能供电的路灯智能控制系统设计(论文+源码)
  • 2411rust,1.80
  • 【汇编语言】数据处理的两个基本问题(三) —— 汇编语言的艺术:从div,dd,dup到结构化数据的访问
  • 数据库灾难恢复:构建不可摧的数据防线
  • 【数据结构】栈和队列的定义与实现
  • Linux :进程间通信之管道