Я ищу функцию или скрипт, который читает каждую строку и ищет дубликат или совпадение в том же файле, чтобы затем удалить его.
Функция uniq -u выполняет половину работы.Я пытался использовать время чтения с grep.Как-то это работает, но по какой-то причине он выводит вдвое больше строк, которые ищет.
Это код, который у меня есть на данный момент, чтобы идентифицировать подходящее слово.Я еще не придумал код для удаления соответствующего слова, но я бы, скорее всего, использовал sed
filename=$1
while read line; do
grep "$line" $filename
done < $filename
, и у меня есть этот файл
JonasB/JB
AZ
LeylaS/LS
JB
AmeliaZ/AZ
.ожидаемый результат должен быть:
JonasB/"JB"
"AZ"
LeylaS/LS
"JB"
AmeliaZ/"AZ"
Но результат, который я имею, таков:
JonasB/"JB"
"AZ"
AmeliaZ/"AZ"
"LeylaS/LS"
JonasB/"JB"
"JB"
"AmeliaZ/AZ"
Результат, который я хотел бы получить для этого сценария:
LeylaS /LS
Разъяснение
Предыдущий пример вызвал некоторую путаницу, и я прошу прощения за него.
Это другой пример:
ecar/ElectricCar/EV
ElectricCar
EV/ecar
Car/ICE
Van
Hybrid
Truck/Van/MiniVan/BigCar
ElectricVan/ElectricTruck
Таким образом, FS будет /
.
Строки 2 и 3 должны быть удалены, поскольку они соответствуют полям строки 1
Строка 5 должна быть удалена со строкой 7, поскольку она соответствуетвторое поле
Результат, который я ожидаю получить:
Car/ICE
Hybrid
ElectricVan/ElectricTruck
Надеюсь, это лучше прояснит проблему.