我写的bash脚本应该修改我的文本文件。问题在于操作速度。每个文件有4行我想修改。sed或运算符在正则表达式集
这是我的bash脚本来修改指定文件夹中的所有.txt文件:
srcdir="$1" //source directory
cpr=$2 //given string argument
find $srcdir -name "*.txt" | while read i; do
echo "#############################"
echo "$i"
echo "Custom string: $cpr"
echo "#############################"
# remove document name and title
sed -i 's_document=.*\/[0-9]\{10\}\(, User=team\)\?__g' $i
# remove document date
sed -i 's|document date , [0-9]\{2\}\/[0-9]\{2\}\/[0-9]\{4\} [0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\} MDT||g' $i
# remove document id
sed -i 's|document id = 878h67||g' $i
# replace new producer
sed_arg="-i 's|Reproduced by $cpr|john smith|g' $i"
eval sed "$sed_arg"
done
我不知道如何concatinate我所有的sed
命令在一个命令或两个,所以工作会做得更快(我想!)
我试过OR运算符正则表达式|
但没有成功。
谢谢你的方法。我不知道这件事。 :) – Alireza