linux中编写shell脚本a.out运行时输入a b c
1个回答
展开全部
[root@zyh shell]# ./only\ print\ duplicate\ line.sh
Please input your file_path:/root/shell/i
New File:/tmp/i
[root@zyh shell]# cat /tmp/i
abc A
abc B
abd
abcd A
abcd B
aaa A
aa
aaa B
[root@zyh shell]# cat only\ print\ duplicate\ line.sh
#!/bin/bash
read -p "Please input your file_path:" File
cp -p $File /tmp/`basename $File`
file_path=/tmp/`basename $File`
#sort排序并输出,uniq -d 只输出重复行
for record in `sort $file_path | uniq -d`
do
#printf 格式化输出,%cASCII码识别,A的ASCII码是65
awk 'BEGIN{n=65}{if($0=="'$record'"){printf "%s\t%c\n",$0,n;n+=1} else print}' $file_path > $file_path.new
mv $file_path.new $file_path
done
echo -n "New File:"
echo $file_path
根据楼上作出修改,楼上的我测试的时候没有输出
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询