Jac*_*ack 8 unix vim shell awk sed
我试图编写一个脚本来为我的.cpp文件添加商标头.我的解决方案如下.
cat trademark.txt test.cpp > new_test.cpp && mv new_test.cpp test.cpp
Run Code Online (Sandbox Code Playgroud)
但是,想知道是否有更好的方法来做到这一点.
您可以像这样使用 awk:
awk 'NR==FNR && !h {print;h=1;} NR!=FNR{print}' headerFile mainFile > tmpFile
mv tmpFile mainFile
Run Code Online (Sandbox Code Playgroud)
使用 vim/vi:
vim +'0r headerFile|wq' mainFile 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
使用 GNU sed:
sed -i.bak -e '2{x;G};1{h;rheaderFile' -e 'd}' mainFile
Run Code Online (Sandbox Code Playgroud)
使用非 GNU sed:
HDR=$(head -1 headerFile) && sed -i.bak "1s/^/$HDR/" mainFile
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6932 次 |
| 最近记录: |