python123实验七答案_Linux操作命令(七)

本文详细介绍了Linux中三个重要的文本处理命令:cut、paste和tr。cut用于按列切分文本,支持按字节、字符或自定义分隔符进行切割;paste则用于将多个文件的内容按列拼接,可以设置自定义分隔符;tr命令则用于字符替换,如大小写转换和删除特定字符。通过这些命令,用户能有效地对文本进行处理和转换。
摘要由CSDN通过智能技术生成

Linux操作命令(七)

1、 cut 命令

cut 命令是一个将文本按列进行切分的小工具,它可以指定分隔每列的定界符。

(1)命令格式

cut [选项] [文件名]

(2)常用参数

参数 描述

-b 以字节为单位进行分割

-c 以字符为单位进行分割

-d 自定义分隔符,默认为制表符

-f 自定义字段

--complement 抽取整个文本行,除了那些由 -c 或 -f 选项指定的文本

(3)常用范例

例一:取出 student.txt 文件中的第一列和第三列,可以使用如下命令:

cut -f 1,3 -d ' ' student.txt

例二:取出 student.txt 文件中的第一列,可以使用如下命令:

cut -f 1 -d ' ' student.txt

例三:取出 student.txt 文件中的前三列,可以使用如下命令:

cut -f 1-3 -d ' ' student.txt

例四:取出 student.txt 文件中除第一列的其他列,可以使用如下命令:

cut -f 1 -d ' ' student.txt --complement

例五:给任意一字符串 str,取出其最后一个字符,可以使用如下命令:

num=$(echo -n $str | wc -c)

echo -n $str | cut -b $num

或者

echo -n $str | cut -b echo -n $str | wc -c

2、 paste 命令

paste 命令的功能正好与 cut 相反。

(1)命令格式

paste [选项] [文件名]

(2)常用参数

参数 描述

-s 将每个文件合并成行而不是按行粘贴

-d 自定义分隔符,默认为制表符

(3)常用范例

例一:将 student.txt 和 telphone.txt 文件中的内容按列拼接,可以使用如下命令:

paste student.txt telphone.txt

例二:将 student.txt 和 telphone.txt 文件中的内容按列拼接,指定分隔符为’:’,可以使用如下命令:

paste student.txt telphone.txt -d ':'

例三:将 student.txt 和 telphone.txt 文件中的内容各自拼接成一行,可以使用如下命令:

paste -s student.txt telphone.txt

3、 tr 命令

tr 命令常被用来更改字符。我们可以把它看作是一种基于字符的查找和替换操作。

tr 只能通过 stdin(标准输入),而无法通过命令行参数来接受输入。

tr 是 translate(转换)的缩写。

(1)命令格式

tr [选项] SET1 SET2

将来自 stdin 的输入字符从 SET1 映射到 SET2,并将其输出写入 stdout(标准输出)。SET1 和 SET2 是字符类或字符集。

(2)常用参数

参数 描述

-d 删除匹配 SET1 的内容,并不作替换

(3)常用范例

例一:将输入的字符大写转换为小写,可以使用如下命令:

echo 'THIS IS SHIYANLOU!' | tr 'A-Z' 'a-z'

例二:将输入的字符中的数字删除,可以使用如下命令:

echo 'THIS 123 IS S1HIY5ANLOU!' | tr -d '0-9'

例三:tr 命令的一个有趣的用法是执行 ROT13 文本编码。ROT13 是一款微不足道的基于一种简易的替换暗码的加密类型。把 ROT13 称为“加密”是大方的,“文本模糊处理”更准确些。有时候它被用来隐藏文本中潜在的攻击内容。这个方法就是简单地把每个字符在字母表中向前移动 13 位。因为移动的位数是可能的 26 个字符的一半,所以对文本再次执行这个算法,就恢复到了它最初的形式。可以使用如下命令:

加密

echo 'shiyanlou' | tr 'a-zA-Z' 'n-za-mN-ZA-M'

fuvlnaybh

#解密

echo 'fuvlnaybh' | tr 'a-zA-Z' 'n-za-mN-ZA-M'

shiyanlou

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值