有没有办法在Unix中删除文件中的重复行?
我可以使用sort -u和uniq命令,但我想使用sed或awk.那可能吗?
这听起来很简单,但实际上要复杂一些。我想使用 unix 实用程序来删除连续的重复项,保留原来的。但是,我还想保留其他不会在原始之后立即出现的重复项。例如,如果我们有以下几行:
O B
O B
C D
T V
O B
Run Code Online (Sandbox Code Playgroud)
我希望输出是:
O B
C D
T V
O B
Run Code Online (Sandbox Code Playgroud)
尽管第一行和最后一行相同,但它们不连续,因此我想将它们保留为唯一条目。
我有一个字符串
cabbagee
Run Code Online (Sandbox Code Playgroud)
我想删除重复的字符.如果我使用tr -s,它将删除序列中的重复字符.但我想要的输出是
cabge
Run Code Online (Sandbox Code Playgroud)
感谢是否有人可以帮助我.
提供的答案是正确的,但我无法使用awk所以我用过:
#!/usr/bin/bash
key=$1
len=${#key}
mkey=""
for (( c=0; c<len; c++ ))
do
tmp=${key:$c:1}
echo $mkey | grep $tmp >/dev/null 2>&1
if [ "$?" -eq "0" ]; then
echo "Found $tmp in $mkey"
else
mkey+=$tmp
fi
done
echo $mkey
Run Code Online (Sandbox Code Playgroud)