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