[118134]Не полностью сохранить, потому что это может привести к остаточной конфигурации из oh-my-zsh.
Установка oh-my-zsh добавляет некоторые строки к вашим zsh стартовым файлам, например ~/.zshrc[118682].
Программа деинсталляции, которую вы уже искали, удалит эти добавленные строки.
Проблема, вызванная оставшейся конфигурацией, может заставить zsh показывать сообщения об ошибках при запуске или остановить запуск сценариев запуска оболочки где-нибудь между ними. Все это может быть сложно исправить, не зная скриптов.
А пока я предлагаю сохранить каталог до тех пор, пока вы не найдете и не воспользуетесь скриптом деинсталляции.
(Пожалуйста, уточните, о какой именно папке для удаления вы говорите)[118145].
Поскольку вы не используете параметр -t
(или -b
с сортировкой GNU ), необходимо отсчитывать начальные места. POSIX определил sort -k EXTENDED DESCRIPTION как
A field comprises a maximal sequence of non-separating characters and, in
the absence of option -t, any preceding field separator
Поэтому необходимо использовать:
$ sort -nk2.7 file
j SN:1
b SN:2
i SA:3
k SN:4
d SN:5
f SN:10
g SN:11
h SN:15
Но в качестве разделителя полей можно использовать :
, затем отсортировать числовые по второму полю:
$ sort -t':' -nk2 file
j SN:1
b SN:2
i SA:3
k SN:4
d SN:5
f SN:10
g SN:11
h SN:15
-121--152821- Только для случая man sort
Если не действует ни -t, ни -b, с начала предыдущего пробела .
Поэтому
sort -k2.7n file
выполнит задание
ПОДСКАЗКА!
Если вы хотите отсчитать с начала строки, вы можете использовать -t
, чтобы принять отсутствующий символ, чтобы рассматривать строку как одно поле:
sort -t% -k1.8n file
-121--152822- Чтобы понять, как организована файловая система Unix, вам нужно понять стандарт иерархии файловой системы .
Обычно для установки linux-машины необходимо иметь по крайней мере 2 разделы /
и swap
. В случае, если у вас нет процесса, что доза партии замены, вы также можете пропустить своп
.
Предполагается, что /
является корнем файловой системы, а swap
используется для замены памяти. Другие каталоги, такие как /boot
, /home
, /usr
, /var
, /tmp
и т.д., могут размещаться либо в различных разделах, либо вместе с разделом, где размещаются /
.
Необходимо решить эту схему, исходя из своих конкретных требований. Например, сервер базы данных должен иметь огромный /var
в отдельном разделе, /tmp
должен храниться отдельно, если сервер/служба записывает слишком много временных данных, чтобы избежать заполнения раздела /
. Выбор разных каталогов в разных разделах зависит от сценария и того, какая файловая система будет удовлетворять их потребности.
/dev
- это монтируемая виртуальная файловая система с именем sysfs
. Каталог /dev
содержит все устройства, обнаруженные ядром. Файлы в /dev
создаются и удаляются на основе удаления/вставки аппаратных средств, управление которыми осуществляется демоном udev
.
/mnt
- пространство, в котором размещаются временные монтируемые файловые системы.
Для этого лучше использовать awk
, чтобы поддерживать арифметические операции
cat $1 | awk -v d=$2 '/BookmarkPageNumber:/{$2-=d}1'
-121--93519- Update Извините, вы забыли, что вам также нужно имя самого верхнего каталога. Я обновил команду, включив «else». Если найден только один каталог, он будет повторять свое имя. Если вызывается «ERROR», можно просто просмотреть содержимое «test.file», чтобы увидеть, какие каталоги находятся в гудроне.
Попробуйте это:
$ zcat test.tar.gz | tar xvf - | \
awk -F/ '{print $1}' | \
uniq > test.file && \
if (($(wc -l 'test.file' | \
awk '{print $1}')>1));then echo "ERROR";else cat test.file;fi
человек zcat
zcat идентичен gunzip -c. (В некоторых системах zcat может быть установлен как gzcat для сохранения исходной ссылки на сжатие.) zcat распаковывает либо список файлов в командной строке, либо их стандартный ввод и записывает несжатые данные на стандартный вывод. zcat разархивирует файлы, имеющие правильный магический номер, независимо от того, имеют ли они суффикс .gz или нет.
awk -F/' {print $1} | uniq
Напечатайте первое слово, помеченное символом '/', только уникальное.
> test.file
Запись выходных данных в файл
(($ (wc-l 'test.file' | awk '{print $1}') > 1))
Конструкция double ((..)) допускает арифметическое расширение и оценку. wc -l
получает число строк в файле. awk «» {print $1} «») > 1
получить только первый столбец, который является номером счетчика строк, и проверить, больше ли это число чем 1. , затем эхо «ОШИБКА»
печать «ОШИБКА», если в tar-файле найдено несколько каталогов.
Надеюсь, что это поможет.
-121--89417-Должны ли они все идти в/mnt?
Почему они должны? Вы создали различные разделы, каждый из которых имеет назначение, и назначили им точки монтирования в соответствии с их назначением. Нет ни одного места, где бы монтировались все разделы, и вы можете выбрать, чтобы не монтировать их вообще, если вы хотите.
В этом примере вы сказали назначить разделенный раздел /home
, /usr/local
и /export
, которые я мог бы бессистемно угадать, чтобы вы могли переустановить и повторно использовать эти разделы, не боясь потери данных.
Подводя итог: отсутствует каталог, в котором должны быть смонтированы разделы . Их можно монтировать везде, где необходимо (стараясь избежать очевидных предупреждений /run
, /sys
, /dev
,...).
Для лучшего понимания вы должны запомнить некоторую концепцию Linux: « Вы босс, и вы можете выбрать все, что вы хотите ». Каждое разделов может быть креплением
/ etc / fstab
Команда
UDEV
Demon в соответствии с его файлами правил, как обычно, он может быть / Media / $ user / $ disk_label
. И все можно изменить на своем собственном уме. Это просто согласие на использование / MNT
как место для ручного монтажа. Как обычно в папке папка для детей была заметна перед монтажом (например / MNT / Data
для раздела с файлами данных, / MNT / Music
Для раздела с музыкальными файлами и т. Д. .). Но я предпочитаю устанавливать такие разделы непосредственно в папки для подметных в моем папке $ Home
. Все на вашем выборе.
Просто чтобы помнить « Великая сила приносит большую ответственность! « Есть много правил и соглашений, так как причины, по которым это делается в этом или таким образом. Так что вам лучше изучать вопрос, прежде чем что-то изменить.
Перед передачей содержимого файла в sed
можно развернуть оболочку:
sed -e "s/$(cat needle.txt)/replace/" subject.txt
Обратите внимание на использование двойных кавычек.
Это сделает sed
интерпретировать любые метасимволы regex из needle.txt
как метасимволы regex, а не обычные символы. Если needle.txt
содержит /
, он будет прерван.
Если вы хотите, чтобы строки needle.txt
интерпретировались буквально (даже если они содержат метасимволы regex, как в вашем примере), вы можете сделать что-то вроде:
perl -pe '
BEGIN{ local $/;
open $IN,"<","needle.txt";
$needle = <$IN>
}
s/\Q$needle/replace/
' subject.txt
Объяснение
-pe
означают применение кода, следующего за строкой, к строкам файла subsect.txt
и печати каждой строки BEGIN {}
выполняется только один раз. Он открывает файл needle.txt
и сохраняет все его содержимое в переменной $ eigle
. s/\Q $ eigle/replace/
- это тот же синтаксис, который вы ожидали от sed
, за исключением того, что \Q
заставляет регексный движок Perl рассматривать всё после него как фиксированный ряд, а не как регекс. Здесь:
http://en.wikipedia.org/wiki/ANSI_escape_code
(обратите внимание: многие из них обычно не работают, но большинство из них помечены таким образом.)
Я делаю игру в терминале и в значительной степени полагаюсь на вышеуказанную ссылку. Он даже подсказывает, как скрыть/показать курсор, сделать цвет (30 '), «полужирный» (светлее), темнее, подчеркнут, курсив, цвет фона (40' s вместо 30's) и т.д. Также можно изменить местоположение курсора (что очень полезно - например, «\x1B [1A »
перемещает курсор вверх на одну строку; «\x1B [0; 0H »
перемещает курсор в строку 0, col 0; «\x1B [2J »
очищает экран; «\x1B [2K »
очищает строку.
Для ваших целей, как люди сказали:
echo -e "\x1b[30;44m black with blue background \x1b[m"
echo -e "\x1b[31;42m red with green background \x1b[m"
echo -e "\x1b[32;40m green with black background \x1b[m"
echo -e "\x1b[8m Invisible; na na na na boo boo \x1b[m"
Примечание: Вам нужно -e
в
echo **-e** "\x1b[35;1m Light purple \x1b[m"
или вам нужно использовать одиночные кавычки. Введите man echo
, чтобы узнать, почему (двойные цитаты обычно являются занозой при печати; Когда мне нужно, чтобы вещи не расширяться или мне нужно ANSI побега последовательностей, я использую одинарные кавычки, потому что это легко - хотя я привык от этого так много раз - забыть -e в этом случае вы получаете « поле с цифрами и буквами
[35; 1 m»).
Каждый раз, когда вы видите CSI
заменить его на «\x1b [»
(или «\e [»
или «\u1b [»
). «\x1b [»
Я думаю, что это более стандартно, но я не знаю, в чем разница между ними.
Самое важное, что нужно понимать в Unix, это то, что нет большого различия между подключенным разделом и каталогом: они для большинства целей идентичны.
Поэтому они не просто вставляют все точки подключения под /mnt
или /media
. Они не особенные, как в Windows, это просто каталоги!
Вместо этого Unix создает иерархию (обычно основанную на стандарте иерархии файловой системы в настоящее время) из монтирования и каталогов.
Единственное «предостережение» к этому состоит в том, что некоторые вещи должны находиться в корневом разделе для самой загрузки ядра (хотя ramdisk для загрузки немного меняет это, но это история для другого ответа)