我想在不使用sort命令的情况下将重复项重定向到另一个文件

时间:2015-06-02 03:22:18

标签: file sorting unix duplicates

我想在不使用sort命令的情况下将重复项重定向到另一个文件。

我尝试过使用以下命令,但它没有用。

def get_students(self, request, form):
    for line_num, line in enumerate(form.files['bulk_file']):
        ...

def post(self, request, *args, **kwargs):
    credit = Credit.objects.get(id=self.kwargs['pk'])
    form_class = self.get_form_class()
    form = form_class(request.POST, request.FILES, credit=credit)
    if form.is_valid():
        for student in self.get_students(request, form):
        ....

仅当我将其作为" uniq -d sample.txt "时才有效,但我想在不对文件进行排序的情况下取出文件的副本。 还有其他办法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用这个简单的<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.4" android:orientation="horizontal" android:padding="5dp" > <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.5" android:text="Item1" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.5" android:text="Value1" /> </LinearLayout> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.3" android:padding="5dp" android:text="Value2" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.3" android:padding="5dp" android:text="Value3" /> </LinearLayout> </LinearLayout> 命令完成它:

awk

此处,awk 'a[$0]{print;next}{a[$0]=1}' sample.txt =&gt;正在处理的当前完整行。如果已设置$0,则打印该行(这是一个重复的行)并继续a[$0]行。其他next已设置,因此下次同一行(如果存在)将被视为重复。

示例:

a[$0]