我有一个来自原始驱动器和复制驱动器的文件列表,分别由 985257 行和 984997 行组成。
由于行数不匹配,我确信某些文件没有重复。
为了确定哪些文件不存在,我希望使用 sed 通过从源列表中删除重复列表中存在的任何行来过滤原始文件列表。
我曾考虑在 excel 中使用匹配公式,但由于程序崩溃的行数。我认为在 sed 中使用这种方法将是一个可行的选择。
然而,到目前为止,我的方法没有成功。
echo "Start"
# Cat the passed argument which is the duplicate file listing
for line in $(cat $1)
do
#sed the $line variable over the larger file and remove
#sed "${line}/d" LiveList.csv
#sed -i "${line}/d" LiveList.csv
#sed -i '${line}' 'd' LiveList.csv
sed -i "s/'${line}'//" /home/listings/LiveList.csv
done
有一个临时文件被创建并填充到列表文件的 103.4mb,但是列表文件本身根本没有改变。
我的另一个担忧是,由于列表是在 Windows 中创建的,因此“\”字符可能会转义字符串,导致不匹配,因此不会进行更改。
Example path:
Path,Length,Extension
Jimmy\tail\images\Jimmy\0001\0014\Text\A0\20\A056TH01-01.html,71982,.html
请帮忙。