范例1.
#/bin/bash
mkdir 5eml
mkdir 5QDReqMsg
while read filename
do
cp 5.eml 5eml/$filename
sed "s/5.eml/5eml\/$filename/" 5_QDReqMsg.txt > 5QDReqMsg/$filename
done < uuid.txt
uuid.txt中存储文件的名字,各不相同;分别在新创建的文件夹下产生文件;sed执行替换功能,将5.eml替换成5eml/$filename
范例2. 向文件中循环写入1024个uuid
#!/bin/bash
((n=1024))
while((n--))
do
cat /proc/sys/kernel/random/uuid >> uuid.txt
done
范例3. 将目录下的*_QDReqMsg.txt文件中匹配PATH:的行都修改成PATH:加上对应eml文件的绝对路径
如把
PATH:/home/jenkins/jobs/esg-782-component-test/workspace/test/test_SmdDaemon/data/1.eml
修改成
PATH:/root/cts/test/test_SmdDaemon/data/1.eml
for file in $(ls *_QDReqMsg.txt)
do
emlfile=${file%_QDReqMsg.txt}.eml
sed -i "/PATH:/c\PATH:$PWD/${emlfile}" ${file}
done
范例4.查找/usr/local/sbin下的daemon是否依赖于某个库文件
#!/bin/sh
for daemon in $(find /usr/local/sbin)
do
ldd $daemon | grep "libcrypto.so.6"
if [ $? = 0 ] ; then
echo $daemon
echo
fi
ldd $daemon | grep "libssl.so.6"
if [ $? = 0 ] ; then
echo $daemon
echo
fi
done