我有一个看起来像这样的文件:
file1
file2
file3
.
.
.
filen
Run Code Online (Sandbox Code Playgroud)
我想将其转换为:
echo "file1"
cat file1
echo "file2"
cat file2
.
.
.
.
echo "filen"
cat filen
Run Code Online (Sandbox Code Playgroud)
一种方法是使用for循环并读取原始文件的内容并将修改后的内容写入另一个文件,我这样做并且它有效.是否有任何命令在vim通过:g或任何其他命令中执行相同的操作?
试试这个:
:%s/.*/echo "\0"\rcat \0/g
Run Code Online (Sandbox Code Playgroud)
说明:
:%s/a/b/g意味着搜索整个文件并替换a为b.
.* 意味着匹配一行中的每一件事.
\0 意味着匹配的东西.
\r 意味着新线.