我有两个文件假设是1st.dat
a
b
c
d
和另一个文件sppose 2nd.dat
d
e
f
g
我的输出应该像
a
b
c
e
f
g
我尝试过使用diff和sdiff,但是我没有按照我提到的那样获得输出。请帮忙
答案 0 :(得分:1)
您可以使用grep
grep -vf 2nd.dat 1st.dat > out.dat && grep -vf 1st.dat 2nd.dat >> out.dat
答案 1 :(得分:0)
尝试diff
,如下所示: -
diff 1st.dat 2nd.dat|grep -e '<' -e '>'|sed -e 's/< \+//g' -e 's/> \+//g' > output.txt
cat output.txt
a
b
c
e
f
g
答案 2 :(得分:0)
我认为您的uniq
版本不支持--unique
选项。
尝试不能伤害:
cat 1st.dat 2nd.dat | sort | uniq --unique
这比
容易得多cat 1st.dat 2nd.dat |grep -vf <(sort 1st.dat 2nd.dat | uniq -d)
grep -vf
的解决方案需要更多关注(匹配子串,空行)。当你去grep -vf
时,@ Tangiel的解决方案更容易理解和修改,但丹尼尔并没有使用慢速排序。
答案 3 :(得分:0)
您可以在linux中使用dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-v13:26.1.0'
compile 'com.android.support:recyclerview-v7:26.1.0'
compile 'com.google.android.gms:play-services-ads:11.4.2'
compile 'com.google.android.gms:play-services-location:11.4.2'
compile 'com.google.android.gms:play-services-gcm:11.4.2'
compile('com.vungle:publisher-sdk-android:5.3.0@aar') {
transitive=true
}
compile 'com.google.ads.mediation:vungle:5.3.0.0'
compile 'com.inmobi.monetization:inmobi-ads:6.2.0'
compile 'com.google.ads.mediation:inmobi:6.2.0.0'
}
命令,例如comm
它会为您提供所需的输出。
答案 4 :(得分:0)
diff -c file1 file2 | grep '^- \|^+ ' | tr '+' ' ' | tr '-' ' '
文件1:
a
b
c
d
文件2:
d
e
f
g
输出
a
b
c
e
f
g