我正在尝试打印文本文件的内容(实际上是它的字符串)。我熟悉一些命令,例如,,grep
;我强制将字符串放在文件中的原始位置,但我做不到。你明白了吗?awk
sed
echo
例子:
以下是字符串文件的一部分:
这是一个充满字符串的文本文件......
现在我想在 bash 上打印单词text
,但不在行首。我想像这样在它自己的位置打印:
--------text---------------------------------
没有破折号。 我该怎么做?
答案1
可能是这样的吗?
$ echo 'This is a text file full of strings...' |
perl -pe 's/(^.*)(text)(.*$)/sprintf "%*s", length($1)+length($2), $2/e'
text
即,在宽度等于其宽度与前缀宽度之和的字段中打印匹配的字符串。