llgd.net
当前位置:首页 >> shEll 空格 >>

shEll 空格

1、sed能完成 2、删除空格 sed -i 's/[ ]*//g' p1.txt 3、删除空行 sed -i '/^$/d' p1.txt 4、删除首行 sed -i '1d' p1.txt 5、删除尾行 sed -i '$d' p1.txt

#!/bin/bashmyFile=/path/filenamecat $myFile | while read linedo echo "$line" #输出整行内容 echo "$line" | awk '{print $1}' #输出每行第一个字段done 以上是示例,根据你的需要自己修改吧。

用双引号就可以了,这样就是一个整体 例如: test.sh "hello world" 脚本中取参数时也要用双引号: "$1"

#!/bin/bash S='1000 1011' echo $S | grep " " >/dev/null 2>&1 if [ $? = 0 ];then num1=$(echo $S | awk '{print $1}') num2=$(echo $S | awk '{print $2}') echo "NUM1=$num1" echo "NUM2=$num2" else echo "没有空格" fi

空格前加反斜杠

第三行 echo $line 改成 echo "$line" 就能保留住 tab 除非循环中有 awk 不能实现的,要不这样写就行了: awk -F'\t' '{print $2}' file

awk -v FS="" '{gsub(" ","");for(i=1;i

#!/bin/bash read -p "please enter a string: " str echo $str | awk '{for(i=1;i

我的可以输出空格啊, [root@xiao ~]# test=`printf "%4d\n" 1` [root@xiao ~]# echo "$test" 1 你可以把test=”`printf "%4d\n" 1`“ 也加上双引号试试。

shell默认用空格作为命令字段分隔符,理解了shell解释命令时的分割重组特性,也就知道这个问题的答案了。具体说两点: 1)变量赋值,=两边不加空格,如:myVal=1 2)test表达式中要加空格:if [ myVal -eq 2 ]; then

网站首页 | 网站地图
All rights reserved Powered by www.llgd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com