shell字符串去重

之前写了一个脚本,里面每次执行的时候都需要给PATH叠加一个路径,这样一来,多次执行这个脚本就会造成PATH包含有重复的字段。解决方法如下:

  export PATH=$(echo $PATH | sed 's/:/\n/g' | sort | uniq | tr -s '\n' ':' | sed 's/:$//g')

解释:
1.使用sed将PATH中的:替换为\n,也就是每行一个字符串,这主要是为了给后面的sort和uniq使用;
2.sort是进行排序,如果有重复的字符串,它们会挨着;
3.使用uniq去除重复的字符串,uniq的特点是只能去除相邻重复的字符串;
4.然后再使用tr将\n换为:
5.使用sed去掉最后的那个:
大功告成。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Shell 中,可以使用字符串来存储一组数据,每个元素之间使用空格分隔。这种字符串列表通常称为「空格分隔的字符串」,或者简称「空格串」。以下是一些常用的 Shell 字符串列表操作命令: 1. 定义字符串列表:直接使用字符串来定义字符串列表,例如: ```shell my_string="apple banana fruit basket orange" ``` 2. 访问字符串列表元素:使用「$」符号加上数字下标来访问字符串列表元素,例如: ```shell echo ${my_string[0]} # 输出:apple echo ${my_string[2]} # 输出:fruit ``` 3. 获取字符串列表长度:使用「wc」命令来获取字符串列表长度,例如: ```shell echo $my_string | wc -w # 输出:5 ``` 4. 获取字符串列表中所有元素:使用「echo」命令来输出字符串列表,例如: ```shell echo $my_string # 输出:apple banana fruit basket orange ``` 5. 添加字符串列表元素:使用「+」符号来添加字符串列表元素,例如: ```shell my_string="$my_string melon" echo $my_string # 输出:apple banana fruit basket orange melon ``` 6. 删除字符串列表元素:使用「sed」命令来删除字符串列表元素,例如: ```shell my_string=$(echo $my_string | sed 's/banana//g') echo $my_string # 输出:apple fruit basket orange melon ``` 7. 清空字符串列表:直接将字符串变量赋值为空即可清空字符串列表,例如: ```shell my_string="" echo $my_string # 输出空行 ``` 以上就是一些常用的 Shell 字符串列表操作命令。需要注意的是,在 Shell 中,字符串列表通常不推荐使用,因为它不如数组结构清晰,也不便于操作。如果需要存储一组数据,建议使用数组。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值