Способы добавления текста в файл

Если вы запустите:

socat "unix-listen:$HOME/.shell-access,mode=600,fork" \
      "exec:$SHELL,pty,stderr,setsid,ctty"

Это позволяет, например,:

socat -,raw,echo=0 "unix:$HOME/.shell-access"

локально для подключения и взаимодействия с этой оболочкой.

Затем вы можете перенаправить его через -порт -через ssh с помощью:

ssh -R "/path/to/socket/on/host:$HOME/.shell-access" user@host

(предполагает относительно недавнюю версию openssh (как клиента, так и сервера )).

И затем userна hostмогут взаимодействовать с этой оболочкой, делая это

socat -,raw,echo=0 "unix:/path/to/socket/on/host"

Вместо запуска $SHELLвы можете запустить screen -xRS some-screen-session, чтобы подключить данный screenсеанс, чтобы несколько человек могли видеть один и тот же сеанс экрана.

11
14.02.2020, 04:28
5 ответов

Вот еще несколько способов добавления текста в файл.

  1. Использование тройника

    tee -a file <<< "text text text..."
    
  2. Использование awk

    awk 'BEGIN{ printf "text text text..." >> "file" }'
    
  3. Использование sed

    sed -i '$a text text text...' file
    sed -i -e "\$atext text text..." file
    

Источники:

12
28.04.2021, 23:23

Использование подходаhere-document:

cat <<EOF >> file
> foo
> bar
> baz
> EOF

Испытания:

$ cat file
aaaa
bbbb

$ cat <<EOF >> file
> foo
> bar
> baz
> EOF

$ cat file
aaaa
bbbb
foo
bar
baz
10
28.04.2021, 23:23

Использование файловых редакторов Unix. Обе версии GNUи BSD.

Использование ed(1)сprintf

printf '%s\n' '$a' 'foo bar baz'. w | ed -s file.txt

Специфичный для bash, но более загадочный синтаксис с использованием $' 'кавычек оболочки иherestring

ed -s file.txt <<< $'$a\nfoo bar baz\n.\nw'

Использование ex(1)сprintf

printf '%s\n' '$a' 'foo bar baz'. x | ex -s file.txt

Специфический для bash, но более загадочный синтаксис $' 'кавычки оболочки иherestring

ex -s file.txt <<< $'$a\nfoo bar baz\n.\nx'
3
28.04.2021, 23:23
cat >> file
first line
second line
...
last line

Нажмите Введите в последней строке, затем Ctrl + D .

1
28.04.2021, 23:23

См. dd (1)справочная страница:

dd conv=notrunc oflags=append bs=4096 if=myNewData of=myOldFile
4
28.04.2021, 23:23

Теги

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