tr,cut,diff(数据处理

tr 命令

功能:

tr 命令用于转换或删除文件中的字符。

语法:

格式:

tr [-cdst][--help][--version][第一字符集][第二字符集]  
tr [OPTION]…SET1[SET2] 

标识符:

-d:删除指定的字符。

-s:压缩重复的字符为一个字符。

具体应用:

# 1. 将文件内容全部转换为大写
cat 1.txt | tr a-z A-Z
cat 1.txt | tr [:lower:] [:upper:]

# 2. 将文件内容全部转换为小写
cat 1.txt | tr A-Z a-z
cat 1.txt | tr [:upper:] [:lower:]

# 3. 删除文件中的数字
cat 2.txt | tr -d 0-9

# 4. 生成包含大小写字母、数字、特殊字符的随机字符串
< /dev/urandom tr -dc a-zA-Z0-9-/ | head -c 12; echo

# 5. 删除重复的 '0'
cat 2.txt | tr -s 0

# 6. 将路径变量中的冒号替换为换行符
echo $PATH | tr ':' '\n'

# 7. 删除文件中的换行符
cat 2.txt | tr -d '\n'

# 8. 删除Windows文件中的 '^M' 字符
cat file | tr -d '\r'

# 9. 转换指定字符串(要求相同长度)
cat 1.txt | tr 'Who' 'Why'

 cut命令

功能: 

cut命令用于显示每行从开头算起 num1 到 num2 的文字。

语法:

格式:

cut  [-bn] [file]
cut [-c] [file]
cut [-df] [file]

标识符:

# 以字节为单位切割(可能会破坏多字节字符)
cut -b 1-3 filename

# 以字符为单位切割(适合处理多字节字符)
cut -c 1-3 filename

# 使用自定义分隔符切割(例如逗号分隔的字段)
cut -d ',' -f 2 filename

# 防止 -b 破坏多字节字符(跳过被破坏的字符)
cut -b 1-3 -n filename

diff命令

功能:

diff 命令用于比较文件的差异

语法:

标识符:

# `diff` 用于比较文件或目录的差异。
# 常用选项:
# - `-u`:显示统一格式的差异。
# - `-q`:仅显示文件是否不同。
# - `-r`:递归比较目录。
# - `--side-by-side`:并排显示差异。

# 自定义格式:
# - `--old-group-format=FORMAT`:指定旧文件差异的格式。
# - `--new-group-format=FORMAT`:指定新文件差异的格式。
# - `--unchanged-group-format=FORMAT`:指定未更改部分的格式(为空字符串表示不显示未更改部分)。

具体应用: 

# 1. 显示文件差异,类似于统一格式
diff -u <(cat a.txt) <(cat whole.txt)

# 示例输出:
# --- /dev/fd/63
# +++ /dev/fd/62
# @@ -1,4 +1,7 @@
#  apple
#  banana
#  cherry
#  date
# +elderberry
# +fig
# +grape

# 2. 并排显示两个文件的差异
diff --side-by-side <(cat a.txt) <(cat whole.txt)

# 示例输出:
# apple                       | apple
# banana                      | banana
# cherry                      | cherry
# date                        | date
#                            > elderberry
#                            > fig
#                            > grape

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值