锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

shell脚本——sort、uniq、tr、数组排序、cut、eval命令配置

时间:2024-01-05 04:07:01 hs3一组常开10a继电器

shell脚本——sort、uniq、tr、数组排序、cut、eval命令配置

一、sort命令

文件内容由行为单位或不同的数据类型进行排序

1、语法格式

sort [选项] 参数
cat file | sort 选项

2、常用选项

image-20220717235935268

3.命令配置及示例

sort -n testfile2
sort -t ‘:’ -k 3 -n /etc/passwd
du -a | sort -nr -0 du.txt

[外链图片存储失败,源站可能有防盗链机制,建议保存图片直接上传(img-mHomdKBa-1658074073763)(https://s2.loli.net/2022/07/18/EkQ92HS3egGvjbW.png)]

二、uniq命令

通常用于报告或忽略文件中的连续重复行sort命令结合使用

1、语法格式

uniq [选项] 参数
cat file | uniq 选项

2、常用选项

3.命令配置及示例

uniq testfile3
sort -n testfile3 | uniq -c

三、tr命令

用于替换、压缩和删除标准输入的字符

1、语法格式

tr [选项] [参数]

2、常用选项

3、参数

字符集1

指定要转换或删除的原始字符集。在执行转换操作时,必须使用参数字符集2指定的转换目标字符集。但在执行删除操作时,不需要参数字符集2;

字符集2

指定要转换的目标字符集

4、命令配置及示例

echo “abc” | tr ‘a-z’ ‘A-Z’

echo -e “abc\ncabcdab” | tr -c “ab\n” “0”
echo -e “abc\ncabcdab” | tr -c “ab” “0”

echo ‘hello world’ | tr -d ‘od’
echo “thissss is a text linnnnnnne.” | tr -s ‘sn’

删除空行
echo -e “aa\n\n\n\n\nbb” | tr -s “\n”
cat testfile5 | tr -s “\n”

在路径变量中冒号":,替换换换行符\n"
echo $PATH | tr -s “:” “\n”
echo -e “aa\n\n\n\n\nbb” | tr -s "\n” “:”

删除Windows造成文件"^M’字符:
cat abc.txt | tr -s “\r” “\n” > new_ file

cat abc.txt | tr -d “\r” > new_file
Linux遇到换行符(\n)会回车 换行操作时,回车符只作为控制字符(^M)显示,没有回车操作。windows中 要回车符
换行符(“\r\n)会回车 换行,没有控制符或顺序不正确的另一行。

cat -v abc.txt
dos2unix abc.txt

四、数组排序

echo ${array[*]} | tr ’ ’ ‘\n’ | sort -n > file

a=0
for i in ( c a t f i l e ) d o a r r a y [ (cat file) do array[ (catfile)doarray[a]=KaTeX parse error: Expected 'EOF', got '#' at position 11: i let a #?array =(i)
done

五、cut命令

删除文件中指定的字段

1、语法格式

cut 选项 参数
cat file | cut 选项

2、常用选项

3.命令配置及示例

cut -d ‘:’ -f 1 /etc/passwd
grep ‘/bin/bash’ /etc/passwd|cut -d ‘:’ -f 1-4,6,7
#开始字段和结束字段的范围
grep ‘/bin/bash’ /etc/passwd|cut -d ‘:’ --complement -f 2
#排除第二个字段
cut -d ‘:’ -f1,7 --output-delimiter=’ ’ /etc/passwd
#输出分隔符使用空间分隔

i=123456789
echo $i| cut -b 1-3 #从1开始
123

echo ${i:0:3} #从0开始
expr substr $i 1 3 #从1开始

六、eval命令

前加上eval时,shell执行命令前扫描两次.eval命令将首先扫描所有替换命令,然后执行命令。该命令适用于一次扫描无法实现其功能的变量。该命令扫描了两次变量

、eval命令

前加上eval时,shell执行命令前扫描两次.eval命令将首先扫描所有替换命令,然后执行命令。该命令适用于一次扫描无法实现其功能的变量。该命令扫描了两次变量

[外链图片转存中…(img-oOSVIXFn-1658074073766)]

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章