您的位置首页百科知识

Linux中tr命令说明

Linux中tr命令说明

的有关信息介绍如下:

Linux中tr命令说明

tr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。带有最常用选项的tr命令格式为:tr -c -d -s ["string1_to_translate_from"] ["string2_to_translate_to"] < input-file这里:-c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。-d 删除字符串1中所有输入字符。-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。input-file是转换文件名。虽然可以使用其他格式输入,但这种格式最常用。

字符范围说明指定字符串1或字符串2的内容时,只能使用单字符或字符串范围或列表。[a-z] a-z内的字符组成的字符串。[A-Z] A-Z内的字符组成的字符串。 数字串。\octal 一个三位的八进制数,对应有效的ASCII字符。[O*n] 表示字符O重复出现指定次数n。因此[O*2]匹配OO的字符串。tr中特定控制字符的不同表达方式速记符含义八进制方式\a Ctrl-G铃声\007\b Ctrl-H退格符\010\f Ctrl-L走行换页\014\n Ctrl-J新行\012\r Ctrl-M回车\015\t Ctrl-Itab键\011\v Ctrl-X\030

找一个文件,内容中包含大小写,用这个文件作为演示样例。

这里使用.bash_profile文件复制为bash_profile1作为演示文件。

查看bash_profile文件的内容,里面包含大小写字母

下面用bash_profile1文件作为样例介绍将大写字母转换为小写字母

命令语法是tr+‘文件中原有的字符’ ‘要替换成的字符’< 要替换的文件名

这里具体的命令就是

tr 'A-Z' 'a-z' <./bash_profile1

'A-Z' 是替换前文件中的字符

'a-z'是替换后文件中的字符

./bash_profile1 是要替换的文件名

这里看到转换后,都是小写字母了

如果以上经验帮到您,麻烦在左下角给点个赞,谢谢!

可以使用命令tr 'a-z' 'A-Z'<./bash_profile1 将当前目录下的bash_profile1文件中的所有小写字母,转换成大写字母。

下面是tr命令的manual,you can read it for reference.

TR(1) User Commands TR(1)

NAME

tr - translate or delete characters

SYNOPSIS

tr [OPTION]... SET1 [SET2]

DESCRIPTION

Translate, squeeze, and/or delete characters from standard input, writ-

ing to standard output.

-c, -C, --complement

use the complement of SET1

-d, --delete

delete characters in SET1, do not translate

-s, --squeeze-repeats

replace each input sequence of a repeated character that is

listed in SET1 with a single occurrence of that character

-t, --truncate-set1

first truncate SET1 to length of SET2

--help display this help and exit

--version

output version information and exit

SETs are specified as strings of characters. Most represent them-

selves. Interpreted sequences are:

\NNN character with octal value NNN (1 to 3 octal digits)

\\ backslash

\a audible BEL

\b backspace

\f form feed

\n new line

\r return

\t horizontal tab

\v vertical tab

CHAR1-CHAR2

all characters from CHAR1 to CHAR2 in ascending order

[CHAR*]

in SET2, copies of CHAR until length of SET1

[CHAR*REPEAT]

REPEAT copies of CHAR, REPEAT octal if starting with 0

[:alnum:]

all letters and digits

[:alpha:]

all letters

[:blank:]

all horizontal whitespace

[:cntrl:]

all control characters

[:digit:]

all digits

[:graph:]

all printable characters, not including space

[:lower:]

all lower case letters

[:print:]

all printable characters, including space

[:punct:]

all punctuation characters

[:space:]

all horizontal or vertical whitespace

[:upper:]

all upper case letters

[:xdigit:]

all hexadecimal digits

[=CHAR=]

all characters which are equivalent to CHAR

Translation occurs if -d is not given and both SET1 and SET2 appear.

-t may be used only when translating. SET2 is extended to length of

SET1 by repeating its last character as necessary. Excess characters

of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to

expand in ascending order; used in SET2 while translating, they may

only be used in pairs to specify case conversion. -s uses SET1 if not

translating nor deleting; else squeezing uses SET2 and occurs after

translation or deletion.

AUTHOR

Written by Jim Meyering.

REPORTING BUGS

Report tr bugs to bug-coreutils@gnu.org

GNU coreutils home page:

General help using GNU software:

Report tr translation bugs to

COPYRIGHT

Copyright © 2010 Free Software Foundation, Inc. License GPLv3+: GNU

GPL version 3 or later .

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The full documentation for tr is maintained as a Texinfo manual. If

the info and tr programs are properly installed at your site, the com-

mand

info coreutils 'tr invocation'

should give you access to the complete manual.

GNU coreutils 8.4 June 2010 TR(1)