<<<<<<< HEAD
=======
>>>>>>> 7aa64xxxxxxxx
一、获取冲突文件名的列表
grep -rsn "<<<<<< HEAD" | awk -F: '{print $1}'
grep -rsn "<<<<<< HEAD" | grep ":1:<<<<<<< HEAD" | awk -F: '{print $1}' > file_list_head.log
二、删除带windows换行符的行
cat file_list_head.log | xargs sed -i "s/^M/dznTest_test/"
cat file_list_head.log | xargs sed -i "/dznTest_test/d"
三、删除冲突符号
cat file_list_head.log | xargs sed -i '/^=======$/d'
cat file_list_head.log | xargs sed -i '/^<<<<<<< HEAD$/d'
cat file_list_head.log | xargs sed -i '/>>>>>>> /d'
用到以下知识点:
https://blog.csdn.net/liangbilin/article/details/108593296
awk -F, '{print $2}' test.txt //$0代表所有列,$1代表第一列
删除以a开头的行
sed -i '/^a.*/d' tmp.txt
-i 表示操作在源文件上生效.否则操作内存中数据,并不写入文件中.
在分号内的/d表示删除匹配的行
在Linux下使用vi来查看一些在Windows下创建的文本文件,有时会发现在行尾有一些“^M”。有几种方法可以处理。
sed -i 's/^M//g' filename
#注意:^M的输入方式是 Ctrl + v ,然后Ctrl + M
grep
-w 精确匹配
-Fx 完全匹配
cat file_list_head.log | xargs grep -Fx "======="
cat file_list_head.log | xargs grep -Fx "=======" | wc -l
cat file_list_head.log | xargs grep -Fx "<<<<<<< HEAD" | wc -l
cat file_list_head.log | xargs grep ">>>>>>> " | wc -l
ls | xargs sed -ir '/^=======$/d'
sed
-r 以正则表达式匹配 //可以不加r的
^匹配开头
$匹配结尾