shell & C++小结

这几天学了点Shell的命令,也按照例子写了几个小脚本。

随着对shell命令有了一定的认识之后,发现自己开始学起来不像之前那么困难了。再学习来变量之后,体会很大。

之前那种什么都看一遍的学习模式存在一定的问题,容易等到掌握各种基础知识以后,脑内冗余又知道怎么梳理。

本来以为自己sed命令以后就轻松玩转,没想到今天改\r\n的txt也是醉了。。。 吐槽一下各个系统的文本换行。

Win下的\n,如果用C++的getline()一下就能抓到,Mac OS下就是\r\n。网上有说Unix里是\r,我不知道是不是版本问题。

然后自己怎么用sed都抓不到,后来有看到别人说用  tr ‘\n‘ ‘ ‘命令的。发现果然OK。原来Sed命令时用来处理行的。所以不能处理\r\n。

原本C++的OpenCV程序,今天重新用完完全全的C++写里一遍,学习用新学会的vector, string来写。

期间也遇到过一些问题,去Google,去stackOverflow也查了。许多问题不是他们给出的答案,因为有的是我别的地方写错了。

imread(const char* ImageName)

函数调了几次,几次怀疑是我输入vector<string> imagename 的问题,最后才发现是我的getline()读出的部分有问题。

从一开始各种纠结错误,到现在意识到。系统的Debug才是最快速,最清晰的解决问题的原因。

从远程服务器没有Vim,成功用tramp;不用fopen,用ifstream;用脚本改txt文件;纠结怎么调Xcode相对路径,发现IDE和$什么的挺好玩(虽然这个还没出来。。。。。

这些都东西,都是一种坚持,希望自己在生活中,也能够遇到困难,不放弃,越挫越勇吧。

Ps. 我坚持用using std::cin。而不是using namespace std。希望良好的命名规范从一开始就坚持吧。

时间: 2024-10-11 22:38:18

shell & C++小结的相关文章

[Shell&amp;Mac&amp;Environment variables]自己常用的Mac(或者说Linux)Shell命令小结,含Mac使用zsh shell的环境变量的有关配置方法

今天在使用tomcat的配置的时候,我用的mac,要是用到一些命令去配置tomcat. 问题来了: 我每次要去启动tomcat服务特别麻烦,因为我要先进入tomcat所在的文件目录,或者不进入使用~/,但是因为我把tomcat放到了一个比较“深“的文件夹里,所以命令显得又丑又长. 问题解决方案: 1.使用环境变量(修改.bashrc的方法) a.先查看自己的Mac目前正在用的是什么shell echo $SHELL 返回结果类似如下图 这里我是zsh,,也许你是bash,不过没关系,配置环境变量

vim中执行shell命令小结

vim中执行shell命令,有以下几种形式 1):!command 不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容 例如 :!ls -l 特别的可以运行:!bash来启动一个bash shell并执行命令,不需要退出vim 2):r !command 将shell命令command的结果插入到当前行的下一行 例如 :r !date,读取系统时间并插入到当前行的下一行. 3):起始行号,结束行号 !command 将起始行号和结束行

shell学习小结

小结 本章我么介绍了怎样使用ls与stat露出文件与文件meta数据,还有怎样使用touch设置未见时间戳.touch可显示有关日期时间相关的信息以及在很多现行系统上的范围限制. 说明了怎样以shell的进程ID变量$$,搭配mktemp工具并手动取出随机数据流样本,建立位移的暂时性文件名,计算机的世界能够说是一个充满敌意的环境,所以可能通过此方式给予暂时性文件具有唯一性与唯一訪问性,让你的成虚能够免于遭受工具. locate与slocate命令可用于定期更新的数据库(是经由完整地扫描文件搜构建

shell学习小结(一)

#!/bin/bash # 头不能少,叫魔数来着,告诉计算机是shell脚本,用bash去执行它,不然无法识别. shell脚本文件要以.sh结尾,不是必要,只是好识别,规范. 1.if条件判断 if 条件;then 执行的操作 elif 条件;then 执行的操作 else 执行的操作 fi 如果then换行,可以不写";",但如果不换行,就必须要";"封号 2.条件测试表达式 [ expression ]或者 test expression,注意:[空格expr

python调用shell命令小结

在写python脚本的时候,经常需要调用系统命令,常用的python调用系统命令的方法主要有subprocess.call和os.popen.默认情况下subprocess.call的方法结果是返回值,即1或0,而os.popen则是命令运行的结果,可以用readlines(读取所有行,返回数组)或者read(读读取所有行,返回str)来读取. subprocess类总主要的方法有: subprocess.call:开启子进程,开启子进程,运行命令,默认结果是返回值,不能try subproce

基本的bash shell命令小结

以下是读<Linux命令行与shell脚本编程大全>第三章后,觉得有用的内容. 1./etc/passwd文件 该文件包含了所有系统用户账户列表及每个用户的基本配置信息,如下图所示: 每个条目有七个字段,字段之间使用冒号分隔,这些字段包括: •用户名 •用户密码(若密码在其他位置,则该位是一个占位符) •用户的系统UID •用户的系统GID •用户的全名 •用户的默认主目录 •用户的默认shell程序 2.shell提示符 默认bash shell提示符为$,提示符可更改,如下所示: [[em

shell 基本操作小结

1.echo和if else fi命令 #!/bin/bash echo hello;echo there filename=demo.sh if [ -e "$filename" ]; then echo "$filename already exists!";cp $filename $filename.bak else echo "$filename does not exist!"; fi; echo "File test co

shell 摘要

判断路径是不是非空 path=/server/backup find ${path:/tmp} -name "*.tar.gz"   -type f|xargs rm -f rm -rf ${path} 计算变量长度 seq -s "100"  100 以空格为分隔符打出来100个数字,如果不加s,会以回车为分隔符 3个方法实现同样的功能 echo $(expr length "$chars")   ==效率最高 ech0 ${#chars} e

系统运维必会知识点

1 删除文件的原理 文件删除:需要具备以下两个条件同时具备才生效 1 受文件的硬连接控制,有一个硬连接i_link+1,减少一个硬连接,i_link-1,当i_link=0时,文件就被删了 列:创建文件i_link=1,为这个文件创建一个硬连接,i_link=2,删除一个硬连接,i_link-1,删除源文件i_link=0了 2 受进程占用控制,当有进程使用这个文件时,有一个进程占用这个文件i_count+1,即i_count=1.当减少一个进程占用i_count-1,即i_count=0,当没