linux shell之字符串的更具字符分割和删除字符和文本内容的删除以及内容是否匹配成功

1  字符串的更具字符分割

1) xargs分割

echo "chenyu*hello*word" | xargs -d "*"
chenyu hello word

 

2) awk分割

echo "chenyu*hello*word" | awk -F "*" '{print $1}'
chenyu

 

 

 

 

 

2 字符串的删除字符

1)用tr命令

echo "chenyu ni hao ya" | tr -d 'y' 
chenu ni hao a

2)用sed命令

echo  "hello*word*word" | sed 's/*//g'
hellowordword

 

 

 

 

 

 

 

 

3 文本内容的删除

用sed命令

cat 1.txt
chenyu
nihao
hello
word
chenyu
nihao
dongma
sed -i '/chenyu/d' 1.txt
cat 1.txt
nihao
hello
word
nihao
dongma

 

 

 

 

 

 

 

 

 

 

4 grep -q 用于if逻辑判断

-q 参数,本意是 Quiet; do not write anything to standard output. Exit immediately with zero status if any match is found, even if an error was detected.  中文意思为,安静模式,不打印任何标准输出。如果有匹配的内容则立即返回状态值0

自己测试如下

#/bin/bash

value="chenyu ni hao ya"

#匹配成功执行$?返回0
echo "hello" | grep -q "he";
echo $?
#匹配失败执行$?非0
echo "hello" | grep -q "hehelodaf";
echo $?

#如果能匹配成功那么就到then反之到else
if echo $value | grep -q "chenyuddsa"; 
then
   echo "first success" 
else
   echo "first fail"
fi


if echo $value | grep -q "hao"; 
then
   echo "second success" 
else
   echo "second fail"
fi

允许结果如下:

./grep.sh
0
1
first fail
second success

 

 

 

 

 

 

 

5 grep -i(忽略大小写)来判断结果

#/bin/bash

value="chenyu"
echo $value | grep -i "chen" > /dev/null

if [ $? -eq 0 ];
then
	echo "grep success"
else
	echo "grep fail"
fi

echo $value | grep -i "chengongyu" > /dev/null

if [ $? -eq 0 ];
then
	echo "grep success"
else
	echo "grep fail"
fi




运行结果

grep success
grep fail

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码莎拉蒂 .

你的鼓励是我最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值