Работа с bash
В таблице описаны некоторые команды и опции bash.Команда bash | Функция | Команда | Ввод | Вывод |
tr симв1 симв2 | Запускает особый режим работы консоли. При вводе строки выводится строка,
отличающаяся от изначальной заменой символов из первой группы на символы из второй. Если в группах разное количество смволов
, дублирует/удаляет последние из второй. Может быть использована для переформатирования файлов. Возможности:
|
tr a p | asta | pstp |
tr abcdef 12345 | awesome game, fantastic design | 1w5som5 g1m5, 51nt1sti3 45sign | ||
tr abcde 123456 | awful feeling | 1wful f55ling | ||
tr -s [:upper:] | haaHAAAA | haaHA | ||
tr -s [:upper:] [:lower:] | hAAhaaa | haha | ||
tr -d [:digit:] | W1nny 4r5 y0u up0r0t? | Wnny r yu uprt? | ||
cat file.txt | tr ' ' '\t' >> file.txt | Из file.txt | В конец file.txt дописывается его копия с пробелами, заменёнными на табуляторы. При попытке сразу его перезаписать содержимое файла удаляется | ||
echo 'ty soVSem bo1n0y shtole' | tr ' ' r | tr -d [:upper:] | tr [:digit:] q | tyrsoemrboqnqyrshtole | |||
paste названия файлов | В консоль двумя или более столбцами через
табуляцию выводятся строки файлов. Возможности:
В примерах в файлах содержатся следующие строки: file1.txt: a bc d file2.txt: ab c d file3.txt: a b c d |
paste file1.txt file2.txt |
a ab bc c d d |
|
paste file?.txt | a ab a bc c d b d c d |
|||
paste -d // file?.txt | a/ab/a bc/c d/b d//c //d |
|||
paste -s file?.txt |
a bc d ab c d a b c d |
|||
diff |
Позволяет сравнивать 2 файла построчно(возможны расширения до большего количества файлов). Удобнее вывод выглядит при использовании опции -y. При этом строки располагаются друг напротив друга, отличающиеся помечаются значком |, отсутствующая в первом файле - >, во втором - <. Может использоваться в проектах, подразумевающих сохранение нескольких версий файлов, с её помощью можно выяснять различия между версиями программ или документов. В примерах в файлах содержатся следующие строки: file1.txt: a bc1 d file2.txt: a bc de f |
diff -y file1.txt file2.txt | a a bc1 | bc d | de > f |
|
diff -y file2.txt file1.txt | a a bc | bc1 de | d f < |