我的項目具有以下結構化妝DIFF忽略符號鏈接
/project/config.mk
/project/dir1/config.mk -> ../config.mk
/project/dir2/config.mk -> ../config.mk
當我用diff
創建補丁文件,該/project/config.mk
正確完成,但兩個符號鏈接了一些問題。他們都被視爲新文件,差異部分是config.mk
文件的全部內容。我試圖找到一個diff
選項來禁用以下符號鏈接,但是沒有這樣的選項可用。任何建議表示讚賞。
作爲Overbose的建議,我創建了這個腳本。有用。感謝大家花時間回答。
#!/bin/sh -v
ori_dir=$1
new_dir=$2
patch_file=./patch_file
if [ -f ${patch_file} ]
then
rm ${patch_file}
fi
ori_files=`cd ${ori_dir} ; find ./ -type f ! -type l`
for i in ${ori_files} ; do
if [ -f ${ori_dir}/$i ]
then
if [ -f ${new_dir}/$i ]
then
diff -rup ${ori_dir}/$i ${new_dir}/$i >> ${patch_file}
fi
fi
done
請問您可以提供cmd嗎? – 2011-03-28 08:41:54
@dien:對不起..我剛剛嘗試過-P選項,但它不起作用,就像我期待的那樣。無論如何,如果你只需要在普通文件上計算diff,你可以使用:find。 -type f – Heisenbug 2011-03-28 08:49:05
@dien:完整的命令:現在你怎麼給diff命令輸入?你使用腳本? – Heisenbug 2011-03-28 08:59:07