Добавить префикс и суффикс к каждой строке в файле .txt

У меня была точно такая же проблема, но я нашел другое решение, в котором нет недостатков предложенного вами решения. Оказалось, что в левой части моего расположения был неиспользуемый столбец шириной 2 пикселя, поэтому вместо того, чтобы сдвигать правый дисплей вправо, я сдвинул левый дисплей (внутренний) влево, закрывая этот неиспользуемый столбец. Теперь все хорошо. Вот как выглядят мои скрипты:

xrandr --output VGA-0 --off --output LVDS --mode 1366x768 --pos -2x312 --rotate normal --output HDMI-0 --primary --mode 1920x1080 --pos 1366x0 --rotate normal

Обратите внимание на -2 в первом

--pos
аргументе.
5
31.03.2018, 07:47
4 ответа

Простойsedподход:

sed 's/^/I am a /; s/$/ 128... [}/' file.txt
  • ^-означает начало строки/строки
  • $-означает конец строки/строки

Выход:

I am a fruit, like 128... [}
I am a bike, like 128... [}
I am a dino, like 128... [}

Кроме того, с помощьюAwkвы можете сделать:

awk '{ print "I am a", $0, "128... [}" }' file.txt
33
27.01.2020, 20:31

Перл:

$ perl -lne 'print "I am a $_ 128... [}"' file 
I am a fruit, like 128... [}
I am a bike, like 128... [}
I am a dino, like 128... [}

Больше перла:

$ perl -pe 's/^/I am a /; s/$/ 128... [}/' file 
I am a fruit, like 128... [}
I am a bike, like 128... [}
I am a dino, like 128... [}

И еще немного Perl:

$ perl -lpe '$_="I am a $_ 128... [}"' file 
I am a fruit, like 128... [}
I am a bike, like 128... [}
I am a dino, like 128... [}

Для всего этого вы можете использовать -i, чтобы внести изменения в исходный файл:

$ perl -i -lne 'print "I am a $_ 128... [}"' file 
$ perl -i -pe 's/^/I am a /; s/$/ 128... [}/' file 
$ perl -i -lpe '$_="I am a $_ 128... [}"' file 
2
27.01.2020, 20:31
sed 's/.*/PREFIX&SUFFIX/' infile

подойдет, предполагая, что PREFIXи SUFFIXне содержат никаких специальных символов.


\&/(обратная косая черта, амперсанд и разделитель )используются в правой части замены s. Особое значение этих символов можно подавить, экранировав их (перед ними обратной косой чертой ), например. чтобы добавить A//BCи добавить XY\Z&&, можно было бы запустить:

sed 's/.*/A\/\/BC&XY\\Z\&\&/' infile
9
27.01.2020, 20:31

Альтернативный sed

sed -e 's/^\(.*\)$/I am a \1 128 [{/

Он ищет все .*между началом ^и концом строки $и помещает их в группу \( \). Затем он заменяет его префиксом, (первой группой )\1и суффиксом.

1
27.01.2020, 20:31

Теги

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