Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для YuS_2

Crazy


Contributor


Сообщения: 1234
Благодарности: 517

Профиль | Отправить PM | Цитировать


Цитата Asdshka:
Ничем не владею, могу только скопировать ваш код и вставить »
В этом случае, лучше прислушаться к тому, что говорю не я один, т.е. описать задачу в целом, а не пытаться решить её отдельными способами.
Цитата Asdshka:
Так что мне там вместо "???" надо написать, чтобы в каждой строке до символа "@" (а в другом варианте после символа "@") добавлялся текст, который я укажу »
Т.е. показать всю задачу желания нет?
Ок. Вот решение, powershell:
Код: Выделить весь код
$fin = 'test.txt'
$fout = 'out.txt'
[char]$p = "@"
$insert = 'добаляемый текст'

$reader = [io.streamreader]::new($fin)
$writer = [io.streamwriter]::new($fout)
while ($reader.peek() -ne -1) {
	$str = $reader.readline()
	$ind = $str.indexof($p)
	if ($ind -ge 0){
		# Текст добавляется ПОСЛЕ первого символа:
		#$writer.writeline($str.insert($ind+1,$insert))
		# Текст добавляется ДО первого символа:
		$writer.writeline($str.insert($ind,$insert))
	} else {$writer.writeline($str)}
}
$reader.dispose();$reader.close()
$writer.dispose();$writer.close()
Символ комментария в строках: "#"
Чтобы текст вставлялся после указанного символа, необходимо закомментировать строку:
Код: Выделить весь код
$writer.writeline($str.insert($ind,$insert))
и раскомментировать строку:
Код: Выделить весь код
$writer.writeline($str.insert($ind+1,$insert))

-------
scio me nihil scire. Ѫ


Отправлено: 12:33, 14-02-2023 | #12