在终端中将字符添加到第 n 行的末尾

1 linux bash command-line

我正在尝试从命令行在文件的第N行末尾添加一些空格。

谁能告诉我怎么做?

gle*_*man 5

如果您的意思是“行号 N”,请使用 sed:

n=5
sed -i "${n} s/$/    /" file
Run Code Online (Sandbox Code Playgroud)

如果您的意思是“每 n 行”,请使用 awk:

awk -v "n=$n" 'NR % n == 0 {$0 = $0 "    "} {print}' file > file.new
Run Code Online (Sandbox Code Playgroud)

或 perl

perl -i -pe '$. % '"$n"' == 0 && $_ .= "    "' file
Run Code Online (Sandbox Code Playgroud)