资讯详情

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

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)]

标签: hs3一组常开10a继电器

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

锐单商城 - 一站式电子元器件采购平台