Shell中去除字符串里的空格或指定字符的方法
网上很多办法,虽然是对的,用起来结果不对。这里提供正确办法。
去掉开头的空格
$text=" 123 456 " # 这个写法,保证了得到正确的结果。 text=`echo $text | sed -e 's/^[ \t]*//g'` # 这些方法没有测试,写法参照上面的。 # 去掉尾巴的空格 sed 's/[ \t]*$//g' # 删除前、后空格,不删除中间空格 sed -e 's/^[ \t]*//g' -e 's/[ \t]*$//g' # 删除字符串中所有空格 sed 's/[[:space:]]//g'
当然还有简单办法:
# 只替换一个 text=${text/ /-} # 全部替换 text=${text// /-}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
Shell中字符串排序的几种方法
[方法一]按ASCII正向排序 备注: 1) tr将子字符串中的空白转换为换行符,再用sort排序 2) sort无参的话,默认按ASCII正向排序 [方法二]按ASCII正向排序 备注: 1) -r参数: 按ASCII码反向排序 2) 在使用sort,uniq等组合命令时候 [方法三]按自然数顺序排序 备注: 1) -n参数: 按自然数的顺序来排序 2) 如果不加-n参数的话,默认是按1,2,3..9的顺序排列,即使101也是排在2之前 总结 以上就是这篇文章的全部内容了,希望本文的内容对
-
Shell脚本中awk指令的用法
语法格式:awk [选项] '指令' 操作文件 常用选项:-F 指定分隔符,分隔符用""引起来 -v:var=value在awk程序开始之前指定一个值valu给变量var,这些变量值用于awk程序的BEGIN快 -f:后面跟一个保存了awk程序的文件,代替在命令行指定awk程序 实例1:在命令行直接输入awk指令 awk '{print}' 1.txt #逐行读取文件1.txt内容并打印 awk '{print $0}' 1.txt #逐行读取文件内容,并打印该行,$0保存的是当
-
Shell脚本中使用getopts处理多命令行选项
在Linux系统中,许多命令都提供了选项,使用不同的选项就会得到不通的执行结果 例如:ls命令,ls命令提供了多个选项:-l.-a.-A.-h.-i等等,每个选项具有不同的功能,我们自己写脚本时也可以定义选项,提示用户如何使用,本文介绍如何使用getopts命令来处理命令选项. 1.getopts命令的如何使用: 用getopts命令获取到脚本选项后,getopts会将获取到的选项所对应的参数(选项对应的参数,并不是选项本身,有的命令选项后面是需要跟一个参数的,例如tcpdump 的-w选项,后
-
一条命令让你明白shell中read命令的常用参数
我们知道,在Shell中接收传入的参数有两种方式.一种是通过脚本进行参数传递,另外一种是通过read来接收传入的参数.通过脚本来传递参数的简单示例如下: # 通过脚本来传递,这里$0指脚本名,$1为第一个参数,$2为第二个参数 [root@host ~]# ./script.sh 1 2 Total = 3 [root@host ~]# vim script.sh #!/bin/bash function add() { total=$(expr $1 + $2) echo -e "Total
-
Shell中去除字符串前后空格的方法
经常碰到的场景,需要去除字符串中的前后的空格.在Shell中不像其他语言有strip()来处理,不过也是可以使用诸如awk等命令来处理. 下面是一个简单示例: [root@localhost ~]# echo ' A B C ' | awk '{gsub(/^\s+|\s+$/, "");print}' ^\s+ 匹配行首一个或多个空格 \s+$ 匹配行末一个或多个空格 ^\s+|\s+$ 同时匹配行首或者行末的空格 如果不用awk命令
-
Shell脚本用for循环遍历参数的方法技巧
1.当一个脚本需要传入的参数较多时,可以使用for循环进行参数遍历 示例: #!/bin/bash number=65 #定义一个退出值 index=1 #定义一个计数器 if [ -z "$1" ];then #对用户输入的参数做判断,如果未输入参数则返回脚本的用法并退出,退出值65 echo "Usage:$0 + canshu" exit $number fi echo "listing args with \$*:" #在屏幕输入,在$*
-
Shell中整数计算的几种方式
在Shell中可以使用下列方式来做整数的计算(+,-,*,/) 方式一: linux:~ # A=1 linux:~ # B=2 linux:~ # C=$(($A+$B)) linux:~ # echo $C 3 方式二: linux:~ # A=1 linux:~ # B=2 linux:~ # C=$[$A + $B] linux:~ # echo $C 3 方式三: linux:~ # A=1 linux:~ # B=2 linux:~ # C=`expr $A + $B` linux:
-
Shell中统计字符串中单词的个数的几种方法
Shell中求字符串中单词的个数的几种方法 方法一: [linux@host ~]# echo 'one two three four five' | wc -w 5 方法二: [linux@host ~]# echo 'one two three four five' | awk '{print NF}' 5 方法三: [linux@host ~]# s='one two three four five' [linux@host ~]# set ${s} [linux@host ~]# ech
-
Shell脚本从文件中逐行读取内容的几种方法实例
从文件逐行读取数据的方法有两种,一种是在while循环或until循环中使用read命令,通过文件描述符一行一行的读取文件内容:另一种是在for循环中使用cat <filename>来读取文件的内容. 1.使用for循环从文件中逐行读取内容:在默认情况现下此方法是逐个单词的读取文件内容,因为使用这种方法读取文件时,他使用环境变量IFS的值作为分隔符,由于IFS的默认值是"<space/空格>""<tab/制表符>""&l
-
Shell脚本中管道的几种使用实例讲解
管道经常用于拼接命令,通过管道可以执行一些复杂的数据处理操作.以下为在shell中使用管道处理数据的的几个实例 示例1:生成一个8位的随机密码 tr -dc A-Za-z0-9_ </dev/urandom | head -c 8 | xargs 示例2:查看系统中所有的用户名称,并按字母排序 awk -F: '{print $1}' /etc/passwd | sort 示例3:列出当前用户使用最多的5个命令(print的列数根据实际情况而定) history | awk '{print $2
随机推荐
- jsp隐藏关键敏感字段信息只显示前后字段的示例
- "在试着设置任务帐户信息时出现错误,指定的错误是:0x80070005:拒绝访问
- Spring boot + mybatis + Vue.js + ElementUI 实现数据的增删改查实例代码(二)
- IOS React等Title不显示问题解决办法
- javascript带回调函数的异步脚本载入方法实例分析
- 从性能方面考虑PHP下载远程文件的3种方法
- Node.js插件安装图文教程
- asp采用ODBC接口访问MySQL的方法
- Jquery判断form表单数据是否变化
- 参考Dedecms整合Discuz完全攻略实现最新的结合
- C++求逆序对的方法
- Android学习笔记之Shared Preference
- 正则表达式模式匹配字符串基础知识
- Android仿iOS实现侧滑返回功能(类似微信)
- 分布式服务Dubbo+Zookeeper安全认证实例
- Java基于分治法实现的快速排序算法示例
- 完美解决iview 的select下拉框选项错位的问题
- 使用pygame模块编写贪吃蛇的实例讲解
- 配置SpringBoot方便的切换jar和war的方法示例
- 微信小程序websocket实现即时聊天功能