我有一张表,其中第一列总是唯一的。因此,当我删除重复的行时,将不会删除任何行。所以我想通过删除重复检查中的第一行来删除重复项。表中的每个单元格可能包含多个值。
输入表格
输出表格
我找到了用于从其他问题中删除重复行的脚本。但这不是我想要的。 This问题有类似之处,但只在第一列上完成。我不知道如何消除被访问的第一列。
脚本
#!/bin/sh -
# adjust this to suit
bin_dir="/tmp/top/bin"
multi=`cat /etc/passwd`
# get current directory
pwd="`pwd`"
# check to ensure we're in the correct directory
if [ "$pwd" != "$bin_dir" ]; then
echo "not executing from correct bin directory"
exit
fi
target_dir="../in"
# ensure the target directory for writing exists
if [ -d "$target_dir" ]; then
echo $multi > $target_dir/log_file
else
echo "unable to locate directory '$target_dir' -- does not exist"
fi
我想要实现的目标
我首先消除单元格中的重复元素,然后消除具有重复值的行。因此,从上面的输入表中,将删除两次写入的C_fb 4000列,然后检查重复的行。
答案 0 :(得分:1)
合并not selector和first selector,您的代码有效!
var seen = {};
$('table tr').each(function() {
var txt = $(this).find("td:not(:first)").text();
if (seen[txt])
$(this).remove();
else
seen[txt] = true;
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr><td>id1</td><td>aaaaa</td><td>ccccccccc</td></tr>
<tr><td>id2</td><td>bbbbb</td><td>dddddddd</td></tr>
<tr><td>id3</td><td>bbbbb</td><td>dddddddd</td></tr>
<tr><td>id4</td><td>bbbbb</td><td>dddddddd</td></tr>
</table>
&#13;
答案 1 :(得分:0)
使用:not
和:first
jQuery-Selector。来源:here
var seen = {};
$('table tr:not(:first)').each(function() {
var txt = $(this).text();
if (seen[txt])
$(this).remove();
else
seen[txt] = true;
});