Вот так:
$ uniq inputFile > outputFile
Но обратите внимание, что uniq
удаляет только те повторяющиеся строки, которые идут друг за другом и последовательно. Поэтому если вы хотите удалить все повторяющиеся строки, даже те, которые не идут последовательно, вы можете сначала отсортировать
ваш входной файл, а затем использовать опцию uniq
:
$ sort -g inputFile | uniq > outputFile
-g
, которая будет сравнивать в соответствии с общим числовым значением.
Или просто используйте sort -nu inputFile > outputFile
Попробуйте это так:
awk -i inplace '{sub (/ Car /, "Helicopter")} {sub (/ Bus /, "Airplane")} 1' file
Теперь у вас есть 3 Условие {Действие}
блоки. 1
- это частный случай блока condition {action}
.
Или попробуйте следующее:
awk -i inplace '{sub (/ Car /, "Вертолет"); sub (/ Bus /, "Airplane")} 1 '
, потому что блок действия может иметь более одного оператора.
awk -i inplace '
/^Car$/ { print "Helicopter"; next }
/^Bus$/ { print "Airplane"; next }
{ print }' file
Путем сопоставления с полной строкой (с использованием привязок ^
и $
)мы гарантируем, что не сопоставляем строки как подстроки в других строках (, например. Car
в Cart
). Воздействуя на найденную строку, а затем немедленно выполняя next
, мы защищаемся от изменения строки во что-то, что может вызвать более поздний паттерн.