技术标签: Linux
Windows系统中有如下等价关系:
用enter换行 <====> 程序写\n <====> 真正朝文件中写\r\n(0x0d0x0a) <====>程序真正读取的是\n
linux系统中的等价关系:
用enter换行 <====> 程序写\n <====> 真正朝文件中写\n(0x0a) <====> 程序真正读取的是\n
实际上Windows上的文件是dos格式的, 而linux上的文件是unix格式的, 我们可以通过linux上的dos2unix和unix2dos来实现转化
** 怎么查看文件格式?**
vi filename
然后执行 :set ff查看一下,结果发现fileformat=dos 那么该文件是windows格式, 如果发现fileformat=unix则文件是linux格式。
如果是直接复制windows上编辑好的filename(filename可以是脚本文件,或者是普通文件)导linux上来执行的报错的话:
方法一:直接执行 sed -i “s/\r//” filename 来转化, 然后就可以执行filename运行脚本了
方法二: 直接执行 dos2unix filename 来转化, 然后就可以执行filename运行脚本了。(我的linux上执行dos2unix filename失败, 但是不要放弃啊, 加个busybox就可以了)
1) 查看文件中特殊不可见字符
正常执行查看文件前20行: head -n 20 filename
查看文件中(带不可见字符 ): head -n 20 filename | od -c
2)sed命令
标准用法: sed “s/被替换的字符/替换后的字符/g” (如果又必要替换和被替换的字符需要加转义符号反斜杠 \)
ASCII码 0x1F(0x只是代表是哪个编码集,1F才是对应的代表单元分割符US,肉眼不可见字符,0x7c中的7c代表竖线|分割符)
sed “s/\x7c/\x1F/g” —这个意思是把肉眼不可见分割符换成竖线分割符。
原始数据1.dat 里面有1行数据: 1|2
需求:把\x7c 换成\x1F
tail 1.dat | sed “s/\x7c/\x1F/g” —结果是1 2
替换文件的分割符(1.csv的文件中的空格替换成逗号并生成另外一个文件2.csv)
sed ‘s/ /,/g’ 1.csv >2.csv
删除文件特定行
删除第一行
sed -i ‘1d’ filename
范围删除,删除1-3行
sed -i ‘1,3d’ filename
删除第n行
sed -i ‘nd’ filename
删除最后一行
sed -i ‘$d’ filename
3) echo 命令
-e:激活转义字符。使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
使用方法:echo -e " 下面的特殊字符 "
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
例子:
vi 1.sh
# !/bin/sh
echo -e "hello \c"
echo "world"
最后sh 1.sh 打印出来的是hello world , \c 是为了不换行。
4) if 判断中参数
[-z string] “string”的长度为零则为真
[string1 -o string2] “string” 表示或者,string1或者string2
标准格式:
if [ -z 字符串1 -o -z 字符串2] ; then
fi
例子:
意思是如果" H D F S P A T H " 是 空 或 者 " {HDFS_PATH}" 是空或者 " HDFSPATH"是空或者"{LOCAL_PATH}" 是空 或者" F I L E N A M E " 是 空 或 者 " {FILE_NAME}" 是空 或者 " FILENAME"是空或者"{STAT_TIME}" 是空 或者"${VERF_FILE_DELIMITED}" 是空。
报错信息:org.apache.catalina.core.StandardContext loadOnStartup严重: Servlet [DispatcherServlet] in web application [] threw load() exceptionjava.lang.ClassNotFoundException: org.springframework.web.ser..._web应用程序[]中的servlet[dispatcherservlet]引发了load()异常
对于给定的正整数N,需要你计算S=1!+2!+3!+...+N!。输入格式:输入在一行中给出一个不超过10的正整数N。输出格式:在一行中输出S的值。输入样例:3输出样例:9实现代码:#include<stdio.h>#include<math.h>int main(){ int i,s=1,j,n,x=0; sc..._计算阶乘的c语言 山东石油大学
Commands (命令)Action对当前状态进行操作失败时,停止测试Assertion校验是否有产生正确的值Element Locators指定HTML中的某元素Patterns用于模式匹配1. Element Locators (元素定位器)id=idid locator 指定HTML中的唯一id的元素name=namename locat_selenium api中的assertions用于检查当前状态
利用awk去除重复行 1 如果仅仅是删除内容完全一样重复行 则可以使用sort先进行排序 然后使用 uniq进行删除重复数据即可例如 CUST.TXTTxt代码 130000006800,17,151,01,250100 130000006800,17,151,01,250101 1300001077,17,151,01_awk去除重复行
1.ServletFileUpload类源码public class ServletFileUpload extends FileUpload { /** * Constant for HTTP POST method. */ private static final String POST_METHOD = "POST"; /** ..._servletfileupload类
击上方“码农突围”,马上关注,每天早上8:50准时推送真爱,请置顶或星标System.currentTimeMillis()是极其常用的基础Java API,广泛地用来获..._nanotime currenttimemillis 更耗性能
# -*- coding: utf8 -*-#https://www.cnblogs.com/nulige/p/6121079.htmlimport math"""""#数学运算类:14个函数#1 abs: Return the absolute value of a numberprint(abs(-10))print(abs(19.5))print(abs(1+1j)) #等于a^2+b^2的开平方#2 complex:返回复数print(complex(1,2)) #._"print #1, range(\"b\" & j)"
**page类型转List丢失属性问题**问题描述问题解决问题描述当我在数据库查出了一个pageInfo在service层需要做一些数据的封装过滤,我在封装过程中导致了page类型的一些属性丢失,导致最终返回结果的pageInfo无法进行分页功能,page属性为错误的属性?问题解决废话不多说上代码: /** * 返回BpmProcessInstanceDTO方法抽取 * * @param searchDTO 查询入参条件 * @param idSet _后端信息放到pageinfo进行转换后都被清空了
本篇文章给大家带来的内容是关于jQuery方法的总结(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。摘自千锋教育《好程序员系列丛书》jQuery 简介jQuery 是一个轻量级操作 DOM 的 JS 库,主要包含以下功能:HTML 元素选取和操作HTML 事件函数HTML DOM 遍历和修改CSS 操作JavaScript 特效和动画AJAX基于 jQ..._jqueryflower插件怎么用
转自:http://zengwu3915.blog.163.com/blog/static/27834897201352345738251/跨平台编译后,难免会出现一些编码问题,在苹果下修改编译代码后,有时就会存成了utf8的了,这样在vs中又会出现那个啥 warning C4819: The file contains a character that cannot be represe
系列文章目对象属性拷贝(BeanUtils.copyProperties)用法一、BeanUtils.copyProperties参数赋值顺序,根据导包不同,方式不同一个为org.springframework.beans.BeanUtils,另一个是org.apache.commons.beanutils.BeanUtils,这两个类在不同的包下面,而这两个类的copyProperties()方法里面传递的参数赋值是相反的。例如:a,b为对象BeanUtils.copyPropertie_copyproperties用法
MybatisPlus简介mybatisplus是什么?MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。mybatisplus特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有_java纯代码不写sql 查数据库