Linux 命令 tr 命令解析 tr 命令的作用是对输入的数据进行字符替换、删除和压缩。...tr 一般形式如下: tr [OPTION] SET1 [SET2] OPTION 表示一些选项,常见的有 -c、-d、-s 等; SET1 表示原始字符集合;SET2 表示目标字符集合。...此命令将 linyi.txt 文件的内容通过管道符传递给 tr 命令进行转换,转换后的结果输出到终端上。...Linux 命令 tr 命令注意事项 读者在使用 tr 命令时,需要注意 SET1 和 SET2 的长度要相同,否则会引发错误。...tr 命令可以通过 -c 选项来对字符集进行取反操作; tr 命令可以通过 -d 选项来删除 SET1 中出现的字符; tr 命令可以通过 -s 选项来压缩 SET1 中重复的字符; tr 命令还可以用于文件编码转换
使用tr删除字符 > echo "hello 123 world 456" | tr -d '0-9' hello world 将制表符转换为空格: > cat text | tr '\t' ''...,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n' 1 2 3 4 此例中,补集中包含了数字0~9、空格和换行符\n,所以没有被删除,其他字符全部被删除了...用tr压缩字符,可以压缩输入中重复的字符: > echo "thissss is a text linnnnnnne." | tr -s ' sn' this is a text line....tr -d '\n' 123 将多个连续空格合并为一个空格,并将空格替换为破折号- > echo "2021 03 01" |tr -s ' ' '-' 2021-03-01 删除非数字字符...> echo "2021assefdf03fff01" |tr -d -c '[0-9]' 20210301 原文链接:https://rumenz.com/rumenbiji/linux-tr.html
1.简介 tr用来转换或者删除一段文字。tr是translate(转换的缩写),功能的英文示意是:translate or delete characters。...tr所有的功能均可由sed来完成,可以将tr视为sed一个极简的实现。 2.格式 tr [OPTION]......last|tr '[a-z]' '[A-Z]' //或者 last|tr [a-z] [A-Z] (2)将/etc/passwd输出的信息中的冒号:删除。...cat /etc/passwd | tr -d '\r' (4)删除空行 cat file | tr -s "\n" > new_file (5)将文件file中出现的”abc”替换为”xyz”。...alv blv|tr -cd 'lv' lvlv ---- 参考文献 [1]man tr
我们有时在Windows编辑的文件,放到了Linux环境中,打开文件,可能发现每行结尾多了一个“^M”,导致一些在Windows下能执行的解析程序,放到了Linux中,执行就会报错,问题就出在这个"^M...其实这个问题,和操作系统换行符相关。...Dos、Windows格式的文件,用0D 0A(CR+LF)作为换行符,而Linux/Unix的则是以0A(LF)作为换行符,因此以Dos底下的文本文件到了Linux,换行符就会多出来一个0D(CR),...在Linux中vim是无法显示\r,因为ascii中对应的不是Linux中的标准acsii字符,其实其对应的ASCII码十进制形式是13(无显示形式),对应的八进制形式是15(显示为^M)。...在Linux下,可以用cat file | tr -d "\r" > new_file,进行替换。 4.
tr他只能从标准输入中读取数据,因此,tr要么将输入文件重定向到标准输入,要么从管道读入数据。 注意:tr类似于sed命令,但是比sed简单,所以tr能实现的功能,sed都能实现。 02....解析序列如下: \NNN 八进制值为NNN 的字符(1 至3 个数位) \\ 反斜杠 \a 终端鸣响 \b 退格 \f 换页 \n 换行 \r 回车 \t 水平制表符 \v 垂直制表符...#dd2 */dk4 | tr -d -c '0-9 \n' 2 4 [deng@localhost test]$ 补集中包含了数字0~9、空格和换行符\n,所以没有被删除,其他字符全部被删除了。...@localhost test]$ 4.8 将换行符替换成制表符 [deng@localhost test]$ cat txt | tr '\n' '\t' 1111 1111 2222 2222...5555 [deng@localhost test]$ [deng@localhost test]$ 到此这篇关于Linux tr命令的使用方法的文章就介绍到这了,更多相关Linux tr命令内容请搜索
前段时间,有个朋友碰到由于Windows的换行符和Linux换行符不一样,导致程序编译不通过。...下面是不同操作系统采用不同的换行符: Unix和类Unix(如Linux):换行符采用 \n Windows和MS-DOS:换行符采用 \r\n Mac OS X之前的系统:换行符采用 \r Mac OS...X:换行符采用 \n Linux中查看换行符 在Linux中查看换行符的方法应该有很多种,这里介绍两种比较常用的方法。...Windows换行符转换为Linux格式 下面介绍三种方法,选择哪一种看自己喜好,当然你也可以选择第x种,^_^。...(1)第一种使用VI: 使用VI普通模式打开文件,然后运行命令"set ff=unix" 则可以将Windows 换行符转换为Linux换行符,简单吧!
Linux和Windows和换行符不一样。 Windows下是CRLF(\r\n或0d0a),Linux下是LF(\n或0a)。...在Linux下有时会遇到从Windows过来的文本文件,这些文件带了Windows换行符,Linux下进行脚本处理时有可能会出一些莫名其妙的错误。因此需要将这些文件转换为Linux换行符。...Linux自带的sed命令一样可以完成相同的任务。
Unix 系统里,每行结尾只有“”,即“\n”,十六进制数值是:0A; Windows系统里面,每行结尾是“ ”,即“ \r\n”,十六进制数值是:0D0A; Mac系统里,每行结尾是...在Linux下用od查看,的确看到每行以CRLF结尾 qqxxz@IED42_83_sles10:~$ od -x file.txt 0000000 0d61 620a 0a0d 0000006 使用vim...在linux用od查看,看到每行是以CR结尾 qqxxz@IED42_83_sles10:~$ od -x file.txt 0000000 0d61 0d62 0000004 使用vim查看 ?...就变成了所有内容都在一样,并且有很多^M,这个^M实际上就是CR,而由于没有LF,因此linux无法识别出换行信息。...解决: 1 去掉^M 1)在vim使用替换命令 :1,$ s/^M//g ^M使用ctrl-V,ctrl-M输入 2)使用tr来清除 cat file.txt |tr -d "\r" > newfile.txt
,window下用回车换行(0A0D)来表示,linux下是回车(0A)来表示。...这样,将window上的文件拷到unix上用时,总会有个^M,请写个用在unix下的过滤windows文件的换行符(0D)的shell或c程序。...使用命令:cat filename1 | tr -d “VM” > newfile; 使用命令:sed -e “s/VM//” filename > outputfilename 需要注意的是在1、2两种方法中...在vi中处理:首先使用vi打开文件,然后按ESC键,接着输入命令: :%s/VM// :%s/^M$//g 如果上述方法无用,则正确的解决办法是: tr -d “\r” dest tr...具体的用法包括: :s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1 :s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1 :.,$ s/
Unix/MAC和windows下换行总会出现以下问题: Unix/MAC下打开windows下的文本会多出一个^M,win下打开Unix/MAC文本会变成一行。...原因是换行机制不一样,Unix下是\n(0A),mac下是\r(0D),win下是\r\n(0D0A)。导致的结果是在程序中会造成一定的混乱。...解决办法: 程序中: 换行符在系统初始化的时候由变量替换。...系统中: 使用工具转换文本文件 linux下使用unix2dos或dos2unix windows下编辑器自行搞定 Reference: http://blog.csdn.net/wjcquking/article
这篇文章给大家分享的是“linux中vi命令的详细参数和各种用法”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。...删除文本中的^M 问题描述:对于换行,window下用回车换行(0A0D)来表示,linux下是回车(0A)来表示。...这样,将window上的文件拷到unix上用时,总会有个^M.请写个用在unix下的过滤windows文件的换行符(0D)的shell或c程序。 ...· 使用命令:cat filename1 | tr -d “^V^M” > newfile; · 使用命令:sed -e “s/^V^M//” filename > outputfilename。...· :%s/^M$//g 如果上述方法无用,则正确的解决办法是: · tr -d "r" dest · tr -d " 免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,
管道文本处理 1. tr 命令 删除 转换 删除一段文本信息中的某些文字。或者将其进行转换。...tr [option]...SET1 [SET2] 选项 说明 -d 删除和 set1 匹配的字符,注意不是全词匹配也不是按字符顺序匹配 -s 去除 set1 指定的在输入文本中连续并重复的字符 #...删除 "hello shiyanlou" 中所有的'o','l','h' $ echo 'hello shiyanlou' | tr -d 'olh' # 将"hello" 中的ll,去重为一个l $...echo 'hello' | tr -s 'l' # 将输入文本,全部转换为大写或小写输出 $ echo 'input some text here' | tr '[:lower:]' '[:upper
tr 将字符进行替换压缩和删除 补充说明 tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。...使用tr删除字符: echo "hello 123 world 456" | tr -d '0-9' hello world 将制表符转换为空格: cat text | tr '\t' ' ' 字符集补集...,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n' 1 2 3 4 此例中,补集中包含了数字0~9、空格和换行符\n,所以没有被删除,其他字符全部被删除了...用tr压缩字符,可以压缩输入中重复的字符: echo "thissss is a text linnnnnnne." | tr -s ' sn' this is a text line....: cat file | tr -s "\r" "\n" > new_file 或 cat file | tr -d "\r" > new_file tr可以使用的字符类: [:alnum:]: 字母和数字
它们应该有Unix风格的行结束符,即每行以换行符结束(ASCII中的十进制10,十六进制0A)。 对于Windows或DOS风格的行尾,每一行都以回车符和换行符结束。...使用 tr 命令删除回车符 cat filename |tr -d '\r' > newfile ---- 参考: stackoverflow question 39527571 man sed 相关阅读...: 用Bash变量进行sed替换 带有-i选项的sed命令在Linux上执行成功,但在MacOS上失败 在shell程序里如何从文件中获取第n行
这个模式空间的概念可能听起来有点生疏,其实就是临时缓冲区;换个名称而已;对模式空间的使用举例: 通常把Linux下的文本文件换行符(\n)变为windows下的换行符号(\r\n), 我们不可以直接用...:sed 's/\n/\r\n/' FILE , 因为“读入到模式空间”完成后,在模式空间里的行尾的换行符已经没有了,此时再进行替换操作,那么因为没有内容可以匹配而无法成功替换; [root@localhost...53 4b 5f 4d 42 47 2e 0a #结果中有三个0x0a, 表示3行;此为linux格式 [root@localhost ~]# [root@localhost ~]...~]# 要解决这个问题,需要用N命令,追加当前行的后一行的内容到模式空间,然后再做替换操作;因为把两行的内容同时放到模式空间之后, 此时只有模式空间末尾的换行符\n被剔除掉了,所以仍然可以匹配到前一行的换行符...65 66 67 73 0a 41 53 4b 5f 4d 42 47 2e 0a 20 0a #这里看到多了一个0x200a, 表示空格 B.
112 113 114 012 061 062 0000010 063 064 065 066 012 [root@node1 ~]$ hexdump -c test.txt 可以看到\n表示文件中有换行...(注意:linux下换行是\n windows下换行是\r\n) 0000000 A b C D E F \n G H I J K L \n 1... 0000015 [root@node1 ~]$ hexdump -C test.txt 00000000 41 62 43 44 45 46 0a... 47 48 49 4a 4b 4c 0a 31 32 |AbCDEF.GHIJKL.12| 00000010 33 34 35 36 0a ... 31 32 33 34 35 36 0a |HIJKL.123456.| 00000015
true} Get-Unique 描述:可以从已排序的对象列表中删除重复对象 Get-Unique会逐个遍历对象,每次遍历时都会与前一个对象进行比较,如果和前一个对象相等就会抛弃当前对象,否则就保留,与Linux...winlogon # } #5.Format-Hex 将文字或者文件转换成为十六进制数据 PS> 'WeiyiGeek' | Format-Hex #00 01 02 03 04 05 06 07 08 09 0A...\File.t7f # Path: C:\Test\File.t7f # 00000000 25 50 44 46 2D 31 2E 35 0D 0A 25 B5 B5 B5 B5 0D %PDF...*") { $_ -replace "","" } elseif ($_ -like "*6??...*") { $_ -replace "","" } else {$_} } > D:/ps.htm ?
1508.二进制文件编辑不要用vi,你保存后会在最后加换行,会破坏这个文件。vi会检查文件,如果没换行,会加上,二进制文件最后一般都没换行的。...: tr -d '[:cntrl:]' ; dos2unix;tr -d \\r;sed -i '/^M/d' # ctrl -v -M 1530.统计文件夹大小: du...:set fileformat 或者 xxd 换行符 \n ^j 0a LF 回车符 \r ^M 0d CR 如果是mac,用回车做换行符,那么你直接cat...并且它是Linux缺省的程序中断信号。...rsync daemon 的话在 daemon 上控制权限,要开 daemon,ssh 的话 ssh 控制权限,要开ssh 1585.回车与换行符的终端输出: ^J \n 0A 换行符
领取专属 10元无门槛券
手把手带您无忧上云