在不使用 sed 的情况下向每个文件的开头添加新行

在不使用 sed 的情况下向每个文件的开头添加新行

我希望这适合这里(我想它也与 Stack Overflow 匹配,因为我使用的是 nodeJS 模块)但基本上我试图添加// @ts-nocheck \n到每个文件的开头.ts文件扩展名。

我在用着ShellJS不幸的是,它似乎不支持行寻址GitHub问题

既然sed -i 1i不支持,什么是一个好的替代方案?

请注意,这awk在 ShellJS 中也不可用。

grepcatheadtailsortechouniq唯一可用的文本操作命令。

答案1

假设你可以有一个 shell 循环,你可以这样做:

for file in *ts; do
    echo "// @ts-nocheck \n" | cat - "$file" > newfile
    mv newfile "$file"
done

如果您想要一个实际的换行符而不是文字,只需从上面的命令中\n删除。\n

答案2

我想我找到了解决方案。

基于这个堆栈溢出,我想出了通过使用原生 NodeJS API 来规避 ShellJS 中乏善可陈的 POSIX 支持的代码

function nocheck() {
  console.log("

相关内容