2019-11-05 15:26:54 Yushuzii 阅读数 168
  • 嵌入式Linux文件与串口编程

    本课程介绍Linux环境下shell编程,普通文件与设备文件的编程方法,串口介绍与应用编程。 学习条件: 1.C语言编程基础 2.嵌入式Linux开发基础

    7206 人正在学习 去看看 沈寒

例: COOOOOOOOOOOO1 _Ml_N_20191010_00000010.TXT

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

sed -i "1i 01|XXXXXXXXXXXXXX|`cat XXXXXXX.txt |wc -l`|00000001" XXXXXXX.txt

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

2017-07-18 16:44:07 haohaibo031113 阅读数 656
  • 嵌入式Linux文件与串口编程

    本课程介绍Linux环境下shell编程,普通文件与设备文件的编程方法,串口介绍与应用编程。 学习条件: 1.C语言编程基础 2.嵌入式Linux开发基础

    7206 人正在学习 去看看 沈寒

对所有用户有效在/etc/profile增加以下内容。
如果只对当前用户有效在Home目录下的.bashrc或.bash_profile里增加下面的内容:
(注意:等号前面不要加空格,否则可能出现 command not found)
在PATH中找到可执行文件程序的路径。

 export PATH =$PATH:$HOME/bin

gcc找到头文件的路径

C_INCLUDE_PATH=/usr/include/libxml2:/MyLib
export C_INCLUDE_PATH

g++找到头文件的路径

CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/include/libxml2:/MyLib
export CPLUS_INCLUDE_PATH

找到动态链接库的路径

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/MyLib
export LD_LIBRARY_PATH

找到静态库的路径

LIBRARY_PATH=$LIBRARY_PATH:/MyLib
export LIBRARY_PATH

参考:
http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=14735472&id=5214282
http://blog.163.com/sanshi2000@126/blog/static/167632827201164111353341/

2018-10-18 22:55:34 qq_42081843 阅读数 752
  • 嵌入式Linux文件与串口编程

    本课程介绍Linux环境下shell编程,普通文件与设备文件的编程方法,串口介绍与应用编程。 学习条件: 1.C语言编程基础 2.嵌入式Linux开发基础

    7206 人正在学习 去看看 沈寒

vim 对创建新python文件自动添加头部信息

原因

用 vim 创建比较小的python文件,自动在文件顶部添加一些Linux下python特有的头文件,以及一些个人信息,不用每次都手动输入。

方法

修改~/.vimrc文件(该文件是用户自己vim的配置文件,可随意修改)
sudo vim ~/.vimrc
如果打开时完全是空白的,说明你没有自己的配置文件,之前一直用的是默认的,进行下一步之前,你可能需要添加vim一些其他常见配置。
在 .vimrc 中添加如下内容:

autocmd BufNewFile *.py,*.sh exec ":call SetTitle()"
""定义函数SetTitle,自动插入文件头
func SetTitle()
        "如果文件类型为.sh文件
        if &filetype == 'sh'
                call setline(1,"\#########################################################################")
                call append(line("."), "\# File Name: ".expand("%"))
                call append(line(".")+1, "\# Author: xxxxxxx")
                call append(line(".")+2, "\# mail: xxxxxxxx@gmail.com")
                call append(line(".")+3, "\# Created Time: ".strftime("%c"))
                call append(line(".")+4, "\######################################################################$
                call append(line(".")+5, "\#!/bin/bash")
                call append(line(".")+6, "")
        elseif &filetype == 'python'
                call setline(1, "\#######################################")
                call append(line("."), "\#        > File Name: ".expand("%"))
                call append(line(".")+1, "\#      > Author: xxxxxxxxx")
                call append(line(".")+2, " \#     > Mail: xxxxxxxx@gmail.com ")
                call append(line(".")+3, " \#     > Created Time: ".strftime("%c"))
                call append(line(".")+4, " \######################################################)
                call append(line(".")+5, "#!/usr/bin/python")
                call append(line(".")+6, "# -*- coding:utf-8 -*-")
                call append(line(".")+7,"")
				
	else
                call setline(1, "/*************************************************************************")
                call append(line("."), "        > File Name: ".expand("%"))
                call append(line(".")+1, "      > Author: xxxxx")
                call append(line(".")+2, "      > Mail: xxxxxxxx@gmail.com ")
                call append(line(".")+3, "      > Created Time: ".strftime("%c"))
                call append(line(".")+4, " **********************************************************************/
                call append(line(".")+5, "")
        endif
		"新建文件后,自动定位到文件末尾
        autocmd BufNewFile * normal G
endfunc

注意点

  1. &filetype == 'python',这里如果设置为&filetype == 'py',不能正常识别python文件
  2. 上边仅另添加了.sh脚本文件的头部信息示例,其他的类型可依据示例自行添加。(参考下边的链接)

参考链接:
[1] https://blog.csdn.net/ligelaige/article/details/24913465
[2] https://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html?tdsourcetag=s_pcqq_aiomsg
[3] https://www.imooc.com/article/36622

2017-10-16 00:46:46 halazi100 阅读数 892
  • 嵌入式Linux文件与串口编程

    本课程介绍Linux环境下shell编程,普通文件与设备文件的编程方法,串口介绍与应用编程。 学习条件: 1.C语言编程基础 2.嵌入式Linux开发基础

    7206 人正在学习 去看看 沈寒

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


" add header comments for .h .c .hpp .cpp .mk .sh new file
" auto call SetTitle func
autocmd BufNewFile *.[ch],*.hpp,*.cpp,Makefile,*.mk,*.sh,*.py exec ":call SetTitle()"

" add comment for cpp
func SetComment_ch()
	call setline(1,"/*================================================================")
	call append(line("."),   "*   Copyright (C) ".strftime("%Y")." * Ltd. All rights reserved.")
	call append(line(".")+1, "*   ")
	call append(line(".")+2, "*   File name   : ".expand("%:t"))
	call append(line(".")+3, "*   Author      : longbin")
	call append(line(".")+4, "*   Created date: ".strftime("%F %T"))
	call append(line(".")+5, "*   Description : ")
	call append(line(".")+6, "*")
	call append(line(".")+7, "*===============================================================*/")
	call append(line(".")+8, "")
	call append(line(".")+9, "")
endfunc

" add comment for shell,Makefile
func SetComment_sh()
	call setline(3, "#================================================================")
	call setline(4, "#   Copyright (C) ".strftime("%Y")." * Ltd. All rights reserved.")
	call setline(5, "#   ")
	call setline(6, "#   File name   : ".expand("%:t"))
	call setline(7, "#   Author      : longbin")
	call setline(8, "#   Created date: ".strftime("%F %T"))
	call setline(9, "#   Description : ")
	call setline(10, "#")
	call setline(11, "#================================================================")
	call setline(12, "")
	call setline(13, "")
endfunc

" SetTitle func, add comment
func SetTitle()
	if &filetype == 'make'
		call setline(1,"")
		call setline(2,"")
		call SetComment_sh()

	elseif &filetype == 'sh'
		call setline(1,"#! /bin/bash")
		call setline(2,"")
		call SetComment_sh()

	elseif &filetype == 'python'
		call setline(1,"#! /usr/bin/env python")
		call setline(2,"# coding=utf-8")
		call setline(3,"")
		call SetComment_sh()

	else
		call SetComment_ch()
		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


2018-05-28 10:03:27 u014487788 阅读数 839
  • 嵌入式Linux文件与串口编程

    本课程介绍Linux环境下shell编程,普通文件与设备文件的编程方法,串口介绍与应用编程。 学习条件: 1.C语言编程基础 2.嵌入式Linux开发基础

    7206 人正在学习 去看看 沈寒

    近来尝试使用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文件,截图如下:

        


没有更多推荐了,返回首页