Превратите единственную команду sed в допускающую повторное использование команду Textmate

member переменной присваивается неопределенное значение. Поэтому проверьте значение ответа message.mentions.members.first(); или message.

5
задан Wolfr 2 May 2009 в 22:23
поделиться

4 ответа

Вставьте это в команду в текстовом пакете, он добавит все, что находится в буфере обмена, в конец всех выбранных строк:

#!/bin/bash
if [[ $(pbpaste|wc -l) -eq 0 ]]
    then r=`pbpaste`
    sed 's/$/'$r'/'
    else sed 's/$/,/'
fi

В настоящее время он ограничен добавлением одной строки объемом текста, если буфер обмена содержит более одной строки, по умолчанию будет использоваться запятая в конце выбранных строк.

Изменить:

Чтобы пойти немного дальше, вот версия, которая предоставляет диалоговое окно, которое предлагает ввести строку, которая будет добавлена ​​к каждой строке в выделении:

#!/bin/bash
r=$(CocoaDialog inputbox --title "String to be appended to EOL" \
   --informative-text "Enter string:" \
   --button1 "Okay" --button2 "Cancel")

[[ $(head -n1 <<<"$r") == "2" ]] && exit_discard

r=$(tail -n1 <<<"$r")

sed "s/$/$r/"
3
ответ дан 14 December 2019 в 01:16
поделиться

В меню Текст уже есть команда " Редактировать каждую строку в выделении ", чтобы точно это сделать. Он поместит курсор в первую строку, а то, что вы там напечатаете, повторяется в каждой строке.

2
ответ дан 14 December 2019 в 01:16
поделиться

Создание новой команды в редакторе пакетов

#!/bin/bash
sed 's/$/,/'

В раскрывающемся списке ввода выберите Выбранный текст или Ничего
На выходе выберите Заменить существующий текст

Я только что протестировал его, и он работает нормально.
Вы также можете выбрать сочетание клавиш, чтобы сделать его более эффективным.

2
ответ дан 14 December 2019 в 01:16
поделиться

If you're willing to avoid the command route and simply use the Find/Replace dialog simply do as follows:

  • highlight/select the lines you'd like to append to
  • open the Find dialog
  • check 'Regular Expressions'
  • in the 'Find' field, add '$' (to indicate the end of the line)
  • in the 'Replace' field, add ',' (what you want appended)
  • hold Option, this will change "Replace All" to "In Selection"

This technique can be applied in a number of other useful ways. For example, changing '$' to '^' if you want to prefix each line.

2
ответ дан 14 December 2019 в 01:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: