Linux tr命令详解

tr是个简单的替换命令,从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。

tr常见命令参数

用法:tr [选项]... SET1 [SET2]
从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。-c, -C, --complement          首先补足SET1-d, --delete                  删除匹配SET1 的内容,并不作替换-s, --squeeze-repeats 如果匹配于SET1 的字符在输入序列中存在连续的重复,在替换时会被统一缩为一个字符的长度-t, --truncate-set1           先将SET1 的长度截为和SET2 相等--help            显示此帮助信息并退出--version         显示版本信息并退出SET 是一组字符串,一般都可按照字面含义理解。解析序列如下:\NNN  八进制值为NNN 的字符(1 至3 个数位)\\            反斜杠\a            终端鸣响\b            退格\f            换页\n            换行\r            回车\t            水平制表符\v            垂直制表符字符1-字符2   从字符1 到字符2 的升序递增过程中经历的所有字符[字符*]       在SET2 中适用,指定字符会被连续复制直到吻合设置1 的长度[字符*次数]   对字符执行指定次数的复制,若次数以 0 开头则被视为八进制数[:alnum:]     所有的字母和数字[:alpha:]     所有的字母[:blank:]     所有呈水平排列的空白字符[:cntrl:]     所有的控制字符[:digit:]     所有的数字[:graph:]     所有的可打印字符,不包括空格[:lower:]     所有的小写字母[:print:]     所有的可打印字符,包括空格[:punct:]     所有的标点字符[:space:]     所有呈水平或垂直排列的空白字符[:upper:]     所有的大写字母[:xdigit:]    所有的十六进制数[=字符=]      所有和指定字符相等的字符

常用的命令展示

不换行显示

seq 9 | tr "\n" "|"

image

删除多余的空行

cat last.txt | tr -s '\n'

删除指定的字符

cat last.txt | tr -d '[0-9].'

大小写转换

cat last.txt | tr '[a-z]'  '[A-Z]'

字符串去重复

cat last.txt | tr -s '[a-zA-Z]'

不满足第一列的时候用第二列替代

cat last.txt | tr -c '[a-z][0-9]' '+'

替换字母权限为数字

 

tr rwx- 4321  
ll h.txt | tr rwx- 4321 
ll   /etc/hosts | tr rwx- 4210| awk -F "" '{print $1+$2+$3 $4+$5+$6 $7+$8+$9}'
ll   /etc/hosts | cut -c 2-10 | tr rwx- 4210 |awk -F "" '{print $1+$2+$3 $4+$5+$6 $7+$8+$9}'

 

image

 

转载于:https://www.cnblogs.com/ftl1012/p/tr.html

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

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

相关文章

Android中插件开发篇总结和概述

刚刚终于写完了插件开发的最后一篇文章,下面就来总结一下,关于Android中插件篇从去年的11月份就开始规划了,主要从三个方面去解读Android中插件开发原理。说白了,插件开发的原理就是:动态加载技术。但是我们在开发插件…

java传入数据库生成柱状图_Java读取数据库数据生成柱状图

此案例是用swing显示数据的。须要引入jfreechart相关包。不同版本号可能包不同样。本人用的是此案例在ssi框架下会报错,不用框架就没问题。Java后台逻辑代码:public class BarChart {ChartPanel frame1;public BarChart() {CategoryDataset dataset get…

SVN系列操作(一)

SVN是什么? SVN是Subversion的简称,是一个开放源代码的版本控制系统,常用于软件开发项目中,实现代码、文档等的历史版本保存、共享和权限管理。 进入SVN本地目录,第一步操作就是update。 为什么呢?因为SVN是…

ubuntu-14.04.2-desktop使用方法

一、安装VMware Tools 1. 在VMware Workstation11.1.0下安装Ubuntu镜像:ubuntukylin-14.04.2-desktop-amd64.iso 2. 点击虚拟机菜单栏-安装VMware Tools。 3. 在Ubuntu系统光盘中找到VMwareTools-9.9.2-2496486.tar.gz,右键复制到“桌面”,然…

ubuntu 跟xshell的问题

有2个分析: 1:是windos的防火墙没有关闭 2:是虚拟机没有安装sshd服务器 ubuntu在CLI界面下输入:dpkg -l |grep ssh 因为是我安装过的sshd server 要是没有sshd server 就要输入 安装。 三:要是安装完之后 链接显示说…

Go语言基础之1--标识符、关键字、变量和常量、数据类型、Go的基本程序结构、Golang的特性...

一、前言 当我们项目较为简单时,我们在src目录下新建一个该项目目录,里面存放源码文件即可,见下图: 当我们一个项目较为复杂时,我们可以在src目录下新建一个该项目目录,在针对该项目不同模块创建不同目录&a…

ext springmvc mysql_基于ExtJs6前台,SpringMVC-Spring-Mybatis,resteasy,mysql无限极表设计,实现树状展示数据(treepanel)...

先从后台讲起1.表的设计2.mysql查询很容易,关键是要把id,text,parentId查出来/p>"http://mybatis.org/dtd/mybatis-3-mapper.dtd">SELECTbp.id,bb.name brandName,bp.name text,bp.photo_url photoUrl,bp.number,bp.add_time addTime,bp.modify_tim…

php说明代码怎么写,代码怎么写 - 起步 - PHP基础 - KK的小故事

起步 - 代码怎么写 作者&#xff1a;KK发表日期&#xff1a;2016.3.9要写PHP代码就需要建立.php后缀的文件,并且在文件里要以<?php 具体代码 ?>这样的形式来书写PHP代码我们在网站目录下新建一个叫index.php的文件,并在里面编写这样的代码:echo Hello World!;?>然后…

python中的计算符号

1、算数计算符号&#xff1a; - * /   //&#xff08;取整&#xff09;  %&#xff08;取余&#xff09;  **&#xff08;次方&#xff09; 1 >>> 682 143 >>> 9-34 65 >>> 3*46 127 >>> 16/28 8.09 >>> 9/2 10 4.5 11 >…

MySQL 索引优化全攻略

2019独角兽企业重金招聘Python工程师标准>>> 所谓索引就是为特定的mysql字段进行一些特定的算法排序,比如二叉树的算法和哈希算法,哈希算法是通过建立特征值,然后根据特征值来快速查找。而用的最多,并且是mysql默认的就是二叉树算法 BTREE,通过BTREE算法建立索引的字…

MyEclipse 14 设置文件特定的打开方式

2019独角兽企业重金招聘Python工程师标准>>> 打开windows -> preferences&#xff1b; 转载于:https://my.oschina.net/AaronDMC/blog/755481

安装安全狗后php5.5无法访问,关于安全狗的详细介绍

这篇文章主要介绍了win2008 R2安装网站安全狗提示HTTP 错误 500.21的解决方法,需要的朋友可以参考下WINDOWS 2008 R2系统IIS7.5&#xff0c;在没安装网站安全狗前一切正常&#xff0c;安装网站安全狗3.3版后&#xff0c;有部分php网站无法访问。提示如下错误&#xff1a;HTTP 错…

Android 里的数据储存

数据持久化关于数据储存,这个话题已经被反复讨论过很多次了,我是不建议把网络存储这种方式纳入到数据储存的范围的,因为这个和Android没多少关系,因此就有如下的分类: 本地储存(也称之为数据持久化,包含文件储存,SharedPreferences,SQLite储存和ContentProvider(内容提供者)) 内…

[故障解决]Mysql爆出ERROR 1044 (42000)的错误怎么办?

情况如图&#xff0c;使用dvlopenhls可以登陆到这个host&#xff0c;并且可以查看里面的tables&#xff0c;但是使用tables其中的op_flow就会报错&#xff0c;查看了很多地方&#xff0c;有人说要改密码&#xff0c;有人说要grant给权限。五花八门&#xff0c;乱七八糟。其实这…

php如何拼接数组,PHP怎么合并数组

本篇文章主要给大家介绍PHP怎么实现两个数组合并&#xff0c;并且其中一个数组的值为下标&#xff0c;另一个数组的值为对应的值。PHP进行普通数组的合并&#xff0c;相信大家都已经有所掌握。但是对于新手朋友们来说&#xff0c;合并两个数组&#xff0c;新数组的下标和值分别…

php5 mongodb,ThinkPHP5之Mongodb使用技巧

安装composer require topthink/think-mongo目录结构实践安装完成之后&#xff0c;就根据文档中的介绍开始进行codeing了&#xff0c;但是……首先我们来看下官方的使用文档配置说明不要以为这样就能够正常的使用了&#xff0c;结果远比预想中的艰难直接爆了这样的错误&#xf…

spring boot 下载

spring boot 下载 posted on 2018-07-06 22:38 zhouixi 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/1-Admin/p/9275802.html

15个Java多线程面试题

2019独角兽企业重金招聘Python工程师标准>>> 在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位&#xff0c;那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题&…

java 将3变为03,03 Java序列化引发的血案

1、前言《手册》第 9 页 “OOP 规约” 部分有一段关于序列化的约定【强制】当序列化类新增属性时&#xff0c;请不要修改 serialVersionUID 字段&#xff0c;以避免反序列失败&#xff1b;如果完全不兼容升级&#xff0c;避免反序列化混乱&#xff0c;那么请修改 serialVersion…

《The Pomodoro Technique》

番茄工作法&#xff0c;专注当下&#xff0c;远离拖延焦虑症 简介What to solveHow to useSome applications自我总结简介 番茄工作法是简单易行的时间管理方法&#xff0c;是由弗朗西斯科西里洛于1992年创立的一种相对于GTD更微观的时间管理方法。 What to solve 各种Deadline…