tmux ls
, который является псевдонимом для tmux list-sessions
, перечисляет все активные сеансы, управляемые сервером tmux
, к которому вы подключены.
Вывод, который вы получаете, означает, что запущено три сеанса, каждый с тремя окнами. Цифры в квадратных скобках показывают размер терминала для каждого сеанса.
При работе с несколькими сеансами tmux полезно инициализировать их именем, используя
tmux new -s SessionName
, так что в списке вы увидите SessionName
вместо числа в первом столбце вывода tmux ls
. Конечно, вы также можете переименовать уже -открытый сеанс, см. этот вопрос .
Я нашел простое решение, оно несколько хакерское, но я не могу установить в систему другие инструменты, поэтому вот мой обходной путь.
Универсальный комментарий был добавлен до и после каждой части, помещенной в XML моим скриптом, который затем можно было найти с помощью grep и легко удалить с помощью того же простого оператора sed.
New XML
1. <!-- START MY CONFIG ADDITIONS-->
2. <SearchPattern>
2. <something></something>
3. </SearchPattern>
4. <!-- END MY CONFIG ADDITIONS--
5.
6. <OtherTag></OtherTag>
7.
8. <!-- START MY CONFIG ADDITIONS-->
9. <SearchPatternHit2>
10. <something></something>
11. </SearchPatternHit2>
12. <!-- END MY CONFIG ADDITIONS-->
New Vars
start_line=$(grep -n "<!-- START MY CONFIG ADDITIONS-->" ${FILE_PATH} | head -1 | cut -f1 -d':')
finish_line=$(grep -n "<!-- END MY CONFIG ADDITIONS-->" ${FILE_PATH} | head -1 | cut -f1 -d':')
Code
count=$(grep -c "<!-- START MY CONFIG ADDITIONS-->" ${FILE_PATH})
while [ $count -gt 0 ]; do
start_line=$(grep -n "<!-- START MY CONFIG ADDITIONS-->" ${FILE_PATH} | head -1 | cut -f1 -d':')
finish_line=$(grep -n "<!-- END MY CONFIG ADDITIONS-->" ${FILE_PATH} | head -1 | cut -f1 -d':')
sed -i "${start_line}, ${finish_line}d" $FILE_PATH
((count--))
done
Правильным способом редактирования XML является использование синтаксического анализатора XML, так как он будет обрабатывать изменения в формате представления, такие как дополнительные пробелы или другой макет строки. В настоящее время я предпочитаю xmlstarlet
.
Учитывая действительный XML-документ как/tmp/xml
<?xml version="1.0"?>
<root>
<SearchPattern>
<something/>
</SearchPattern>
<OtherTag/>
<SearchPatternHit2>
<something/>
</SearchPatternHit2>
<SearchPatternHit2>
<something_else/>
</SearchPatternHit2>
</root>
Вы можете очень просто удалить раздел <searchPattern/>
xmlstarlet edit -d '//SearchPattern' /tmp/xml
Чтобы удалить одно вхождение повторяющегося элемента, включите ссылку на массив (, основанную на 1)
xmlstarlet edit -d '//SearchPatternHit2[1]' /tmp/xml