在 Unix Shell 中在其自己的位置列印字串

在 Unix Shell 中在其自己的位置列印字串

我正在嘗試列印文字檔案的內容(實際上是它的字串)。我熟悉一些命令,例如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

即在寬度等於其寬度與前綴寬度總和的欄位中列印匹配字串。

相關內容