以下是一个Shell脚本示例,用于从文件中替换手机号码:
#!/bin/bash
# 获取文件名和手机号码作为输入参数
filename="$1"
phone_number="$2"
# 验证输入参数是否正确
if [ -z "$filename" ] || [ -z "$phone_number" ]; then
echo "请提供要处理的文件名和手机号码"
exit 1
fi
# 判断文件是否存在
if [ ! -f "$filename" ]; then
echo "文件不存在"
exit 1
fi
# 按行读取文件内容,并替换手机号码
while IFS= read -r line; do
# 使用sed命令替换手机号码
new_line=$(echo "$line" | sed "s/[0-9]\{11\}/$phone_number/g")
echo "$new_line"
done < "$filename"
使用示例:
假设有一个名为data.txt
的文件,内容如下:
张三,13812345678
李四,13987654321
王五,13611112222
可以使用以下命令来运行脚本并替换手机号码:
bash script.sh data.txt 15555555555
脚本将会输出替换后的文件内容:
张三,15555555555
李四,15555555555
王五,15555555555
请注意,该脚本只会输出替换后的文件内容,并不会修改原始文件。如果需要修改原始文件,请使用适当的选项和命令。