linux 文件头部添加_linux通过查看文件头部识文件类型 - CSDN
  • 例: COOOOOOOOOOOO1 _Ml_N_20191010_00000010.TXT 统计文本中的记录数,然后插入到文本的第一行,命令如下: sed -i "1i 01|XXXXXXXXXXXXXX|`cat XXXXXXX.txt |wc -l`|00000001" XXXXXXX.txt ...

    例: COOOOOOOOOOOO1 _Ml_N_20191010_00000010.TXT

    统计文本中的记录数,然后插入到文本的第一行,命令如下:

    sed -i "1i 01|编号|`cat test.txt |wc -l`|00000001"  test.txt

    这里,插入的数据,由四部分组成,版本号+机构编码+总笔数+批次编号,中间的总笔数,是由cat XXXXXXX.txt |wc -l,动态的命令生成的,省得手动插。

    展开全文
  • 有时候编写程序文件时,经常需要添加一些头部注释,比如创建者,创建日期,版本声明或者功能描述之类的,如果每次都要添加一次注释,便显得比较麻烦,因此,可以在vim新建文件时,自动添加头部注释。

    有时候编写程序文件时,经常需要添加一些头部注释,比如创建者,创建日期,版本声明或者功能描述之类的,如果每次都要添加一次注释,便显得比较麻烦,因此,可以在vim新建文件时,自动添加头部注释。


    1. 比如创建.c .h .cpp .hpp .java等c/c++ ,java程序文件, 注释使用 “/* */”


    vim vdi_connect.c



    2. 创建shell脚本,mk文件,注释使用 “#”

    vim set_otg_usb_mode.sh




    vim如何支持?

    修改 ~/.vimrc,在文件最后添加以下内容:

    " 当新建 .h .c .hpp .cpp .mk .sh等文件时自动调用SetTitle 函数
    autocmd BufNewFile *.[ch],*.hpp,*.cpp,Makefile,*.mk,*.sh exec ":call SetTitle()" 
    
    " 加入注释 
    func SetComment()
    	call setline(1,"/*================================================================") 
    	call append(line("."),   "*   Copyright (C) ".strftime("%Y")." Sangfor Ltd. All rights reserved.")
    	call append(line(".")+1, "*   ") 
    	call append(line(".")+2, "*   文件名称:".expand("%:t")) 
    	call append(line(".")+3, "*   创 建 者:LuZhenrong")
    	call append(line(".")+4, "*   创建日期:".strftime("%Y年%m月%d日")) 
    	call append(line(".")+5, "*   描    述:") 
    	call append(line(".")+6, "*")
    	call append(line(".")+7, "================================================================*/") 
    	call append(line(".")+8, "")
    	call append(line(".")+9, "")
    endfunc
    
    " 加入shell,Makefile注释
    func SetComment_sh()
    	call setline(3, "#================================================================") 
    	call setline(4, "#   Copyright (C) ".strftime("%Y")." Sangfor Ltd. All rights reserved.")
    	call setline(5, "#   ") 
    	call setline(6, "#   文件名称:".expand("%:t")) 
    	call setline(7, "#   创 建 者:LuZhenrong")
    	call setline(8, "#   创建日期:".strftime("%Y年%m月%d日")) 
    	call setline(9, "#   描    述:") 
    	call setline(10, "#")
    	call setline(11, "#================================================================")
    	call setline(12, "")
    	call setline(13, "")
    endfunc 
    
    " 定义函数SetTitle,自动插入文件头 
    func SetTitle()
    
    	if &filetype == 'make' 
    		call setline(1,"") 
    		call setline(2,"")
    		call SetComment_sh()
    
    	elseif &filetype == 'sh' 
    		call setline(1,"#!/system/bin/sh") 
    		call setline(2,"")
    		call SetComment_sh()
    		
    	else
    	     call SetComment()
    	     if expand("%:e") == 'hpp' 
    		  call append(line(".")+10, "#ifndef _".toupper(expand("%:t:r"))."_H") 
    		  call append(line(".")+11, "#define _".toupper(expand("%:t:r"))."_H") 
    		  call append(line(".")+12, "#ifdef __cplusplus") 
    		  call append(line(".")+13, "extern \"C\"") 
    		  call append(line(".")+14, "{") 
    		  call append(line(".")+15, "#endif") 
    		  call append(line(".")+16, "") 
    		  call append(line(".")+17, "#ifdef __cplusplus") 
    		  call append(line(".")+18, "}") 
    		  call append(line(".")+19, "#endif") 
    		  call append(line(".")+20, "#endif //".toupper(expand("%:t:r"))."_H") 
    
    	     elseif expand("%:e") == 'h' 
    	  	call append(line(".")+10, "#pragma once") 
    
    	     elseif &filetype == 'c' 
    	  	call append(line(".")+10,"#include \"".expand("%:t:r").".h\"") 
    
    	     elseif &filetype == 'cpp' 
    	  	call append(line(".")+10, "#include \"".expand("%:t:r").".h\"") 
    
    	     endif
    
    	endif
    endfunc
    




    展开全文
  • 但是往一个文件头部插入数据可能或多或少会碰到一些问题。看似正确的错误代码很多代码看似正确,但是其实都是错的。一起来看下这些代码1、看似正确的错误代码1with open(path, "r+") as f: f.seek(0) f....

    利用Python在一个文件的头部插入数据

    在一个文件的末尾追加数据是很常用的。在使用过程中应该都比较熟悉不会出现什么错误。但是往一个文件头部插入数据可能或多或少会碰到一些问题。

    看似正确的错误代码

    很多代码看似正确,但是其实都是错的。一起来看下这些代码

    1、看似正确的错误代码1

    with open(path, "r+") as f:
         f.seek(0)
         f.write(data)

    确实是从头写了,而且有些原有数据确实在,但是数据有问题。。。。
    因为”r+”方式写文件操作没有插入的语义,只有写文件的含义,原来位置如果有数据,不会后移的,是覆盖掉了。。。。所以,你可能会看到一些老的数据。不仔细辨别可能就天真地以为成功了。。。

    2、看似正确的错误代码2

    with open(path, "w+") as f:
         old = f.read()
         f.seek(0)
         f.write(data)
         f.write(old)

    你读取到的数据永远为空。。。。
    因为”w+”的含义就是截取长度为0然后写入文件。

    3、看似正确的错误代码3

    with open(path, "a+") as f:
         old = f.read()
         #f.truncate(0)           #取消掉注释成正确代码
         f.seek(0)
         f.write(data)

    写入的数据永远出现在文件末尾。。。。。
    要打破魔咒的话要先将文件截断成0字节。。。。

    snack:想要”a+”的效果变”r+”,在读之前先seek(0),在写之前要truncate一下,确保要写入的位置是文件的末尾。

    正确的代码

    with open(path, "r+") as f:
         old = f.read()
         f.seek(0)
         f.write(data)
         f.write(old)

    原理思路:读出原有文件内容,移动索引到开始,写入新的数据,然后写入旧的数据。

    linux下的sed

    sed -i '0 i  somethingyouwanttoinsert ' file
    展开全文
  • 近来尝试使用python来写poc,每次在创建一个python文件时,头部信息总是需要自己去手动添加添加了几次之后,发现这项工作太过于枯燥,于是想写一个脚本来自动生成这些信息。思路是:使用shell脚本来创建.py文件,...

        近来尝试使用python来写poc,每次在创建一个python文件时,头部信息总是需要自己去手动添加,添加了几次之后,发现这项工作太过于枯燥,于是想写一个脚本来自动生成这些信息。思路是:使用shell脚本来创建.py文件,将该shell脚本设置为系统命令,然后在该linux虚拟机中,任何一个目录下通过调用改脚本加上文件名即可成功创建,具体操作如下:

    1、在/usr/local/sbin/目录下创建vimpy.sh文件,shell脚本如下:

    :<<!
    作者:张乐
    创建时间:2018.5.28 9:20
    用途:新建python脚本并且初始化开头结尾
    !
    
    #shell脚本中$1代表程序后的第一个参数,$0表示该脚本的文件名,脚本是否输入要创建的文件名
    if [ ! "$1" ]
    then
            echo '请输入要新建的文件名称'
    exit 1
    fi
    
    #如果该文件已经存在,则直接用vim打开,不存在则创建文件
    if [ ! -f "$1" ]; then
            touch "$1"
    else
            vim "$1"
    fi
    
    #写入注释
    echo "#-*- coding:utf-8 -*-">>"$1"
    echo "">>"$1"
    echo "'''">>"$1"
    echo "作者:张乐">>"$1"
    time=$(date "+%Y-%m-%d %H:%M:%S")
    #echo ${time}
    echo "创建时间:"${time}  >>"$1"
    echo "脚本用途:">>"$1"
    echo "">>"$1"
    echo "'''">>"$1"
    
    vim "$1"
    

    2、将该shell脚本设置为系统命令,在此处,我选择将该系统命令设置为vimpy:

        ln -s /usr/local/sbin/vimpy.sh /usr/bin/vimpy

    3、我们在任何目录下,输入vimpy "文件名.py"  即可成功创建python文件,截图如下:

            


    展开全文
  • vim 对创建新python文件自动添加头部信息原因方法 原因 用 vim 创建比较小的python文件,自动在文件顶部添加一些Linux下python特有的头文件,以及一些个人信息,不用每次都手动输入。 方法 修改~/.vimrc文件(该文件...
  • 文件头部添加一行字符: sed -i '1i\3a0000' test.txt 方法2,:使用-e和-i选项 在文件test.txt指定行(比如第三行)后面添加一行内容,比如“3a0000”:  sed -e "/3/a 3a0000" -i test.txt
  • 比如想给py文件开头都加上coding:utf-8防止python2.7运行报错 就这么写: find app -name “*.py” -exec sed -i ‘’ -e ‘1i #coding:utf-8’ {} ; 参考:https://my.oschina.net/jsk/blog/166974 谷歌大...
  • 以前发过这个插件,这回版本升级了一下,修复了以前默认配置项不能删除,顺序不能移动的问题,...一个读取用户自定义模板,通过快捷键添加文件头部注释、在光标处添加函数注释的VsCode插件 language 简体中文 | E...
  • 一、效果图展示   二、FileHeader 插件安装 FileHeader 插件的安装方法和其它插件相同。下面简单述说一下: ...先安装一个 Package Control 插件。相信大家使用 Sublime 的话都有安装这个了 ...
  • 一、查看文件内容 1、查看文件类型 file命令: 能够探测文件的内部,并决定文件是什么类型的。 用法:file [path]my_file my_file如果是目录,file命令会显示 "my_file : directory"。如果是文本文件,...
  • 调用一个基本的Linux命令,echo "hello,world"保存为test.sh文件,打开执行权限:sudo chmod +x ./test.sh运行吧:./test.sh看到了hello,world.添加一个注释吧,用#开头(pound sign)的所有字符都是注释,除了第一行以
  • 当我们执行rm命令删除一个文件的时候,在操作系统底层究竟会发生些什么事情呢,带着这个疑问,我们在Linux-3.10.104内核下对ext4文件系统下的rm操作进行分析。rm命令本身比较简单,但其在内核底层涉及到VFS操作、ext...
  • VsCode系列:VsCode自动生成文件头部注释和函数注释! 前言 今天博主将为大家分享:VsCode系列:VsCode自动生成文件头部注释和函数注释!不喜勿喷,如有异议欢迎讨论! 再看这篇文章前博主郑重推荐大家前往阅读...
  • 想标记自己所编写的文档的一些默认信息,并且注明出处和作者,一个一个编写太过繁琐,和PyCharm相同,CLion也支持自动添加文件头部注释。 首先,在CLion工具栏点击FILE,点击settings,在Editor下找到File and ...
  • 在这节中主要分析了linux内核中的文件操作的实现.还是同前两节一样,涉及到块设备与页面缓存的部份先放一边.后续有会有专题分析与此相关的内容. 二:文件的打开 在用户空间的,打开文件常用的api是open().它的...
  • Linux文件系统简介 目录操作 访问权限 1. 如何获取帮助文档 在实际工作过程当中,经常会忘记命令的使用方式,例如ls命令后面可以跟哪些参数,此时可以使用man命令来查看其使用方式,例如 //man命令获取命令帮助...
  • 上一篇文章主要是对文件进行一些管理,本篇主要对文件里面的一些内容进行操作。 一、查看文件内容 首先使用图形界面,创建一个记事本。并写入大量内容。/root/1.txt 1、查看文件里面的全部内容 命令:cat...
1 2 3 4 5 ... 20
收藏数 31,601
精华内容 12,640
关键字:

linux 文件头部添加