分隔符

(九)字符处理命令

我是研究僧i 提交于 2019-12-01 07:26:40
1:cut [选项] 文件名 选项: -f 列号: 提取第几列 -d 分隔符: 按照指定分隔符分割列 -c 字符范围: 不依赖分隔符来区分列,而是通过字符范围(行首为 0)来进行字段提取。“n-”表示从第 n 个字符到行尾;“n-m”从第 n 个字符到第 m个字符;“-m”表示从第 1 个字符到第 m 个字符。cut 命令的默认分隔符是制表符,也就是“tab”键。 3:sed sed 主要是用来将数据进行选取、替换、删除、新增的命令. 直接用命令对文件进行修改并不是vi进行编辑。 -n: 一般 sed 命令会把所有数据都输出到屏幕,如果加入此选择,则只会把经过 sed 命令处理的行输出到屏幕。 -e: 允许对输入数据应用多条 sed 命令编辑。 -f 脚本文件名: 从 sed 脚本中读入 sed 操作。和 awk 命令的-f 非常类似。 -r: 在 sed 中支持扩展正则表达式。 -i: 用 sed 的修改结果直接修改读取数据的文件,而不是由屏幕输出动作: a \: 追加,在当前行后添加一行或多行。添加多行时,除最后 一行外,每行末尾需要用“\”代表数据未完结。 c \: 行替换,用 c 后面的字符串替换原数据行,替换多行时,除最后一行外,每行末尾需用“\”代表数据未完结。 i \: 插入,在当期行前插入一行或多行。插入多行时,除最后 一行外,每行末尾需要用“\”代表数据未完结。

(八)awk命令

我的未来我决定 提交于 2019-12-01 07:26:25
一:printf 格式化输出 %ns: 输出字符串。n 是数字指代输出几个字符 %ni: 输出整数。n 是数字指代输出几个数字 %m.nf: 输出浮点数。m 和 n 是数字,指代输出的整数位数和小数位数。如%8.2f 代表共输出 8 位数,其中 2 位是小数,6 位是整数。 split , substr , strlen 输出格式: \a: 输出警告声音 \b: 输出退格键,也就是 Backspace 键 \f: 清除屏幕 \n: 换行 \r: 回车,也就是 Enter 键 \t: 水平输出退格键,也就是 Tab 键 \v: 垂直输出退格键,也就是 Tab 键 printf '%s' $(cat student.txt) printf '%s\t %s\t %s\t %s\t %s\t %s\t \n' $(cat student.txt) 3: awk 基本使用 awk ‘条件 1{动作 1} 条件 2{动作 2}…’ 文件名 条件(Pattern): 一般使用关系表达式作为条件。这些关系表达式非常多,具体参考表 12-3 所示,例如: x > 10 判断变量 x 是否大于 10 x == y 判断变量 x 是否等于变量 y A ~ B 判断字符串 A 中是否包含能匹配 B 表达式的子字符串 A !~ B 判断字符串 A 中是否不包含能匹配 B 表达式的子字符串 (1

sqlite导入导出csv数据库中

大城市里の小女人 提交于 2019-12-01 07:16:47
SQLite CSV 转换 Sqlite3 哟可以执行两种命令: sql语句,还有以.开头的一些命令比如.help用来显示帮助的。 sqlite命令打开数据库: administrator@ubuntu:~/data$ sqlite3 123.db 导入 命令: .import 操作如下: sqlite> .import csv文件 表名 注1: 不要忘了开头的点 注2: 这条语句不能用分号结束. 非SQL不需要分号结束. 注3: 需要查看默认的分隔符separator. 必须一致. 如果不一致可能导致sqlite字段分割错误. 查看分隔符使用命令 .show , 如果不一致可直接修改, 比如: sqlite>.separator "," 将分隔符转为逗号. 举例1: 将文件a.csv中的数据导入表 tab_xx. (a.csv中字段以逗号分割) sqlite> .separator "," sqlite> .import a.csv tab_xx sqlite> 导入结束. 导出 实现方式: 将输出重定向至文件. 命令: .output 操作 :sqlite> .output a.txt 注释:然后输入sql语句, 查询出要导的数据. 查询后,数据不会显示在屏幕上,而直接写入文件. 结束后,输入 sqlite> .output stdout 举例2: 将 tab_xx

sqlite 数据库导入导出(转)

隐身守侯 提交于 2019-12-01 07:16:25
全部导出 sqlite3 data.db >.output dd.sql >.dump 全部导入 sqlite3 mydb.db >.read dd.sql 平时使用官方提供的sqlite3.exe工具来操作 sqlite的数据库 进入管理: sqlite3.exe d:\test.db //假设数据是 d:\test.db >.databases //显示所有数据库 和 mysql的 show databases;  >.tables //显示当前数据库的表格 和 mysql 的show tables;  >.schment tablename; //显示表格结构 和mysql的 SHOW Create TABLE tbl_name >.output c:\\1.sql //导出当前数据库的 sql语句 和mysql的 mysqldump >.dump >.import c:\\1.sql //导入 //mysql 用source =================== 导入 命令: .import sqlite> .import 文件名 表名 注1: 不要忘了开头的点 注2: 这条语句不能用分号结束. 非SQL不需要分号结束. 注3: 需要查看默认的分隔符separator. 必须一致. 如果不一致可能导致sqlite字段分割错误. 查看分隔符使用命令 .show ,

Python中的join()函数的用法

不问归期 提交于 2019-12-01 07:14:20
函数:string.join() Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 os.path.join(): 将多个路径组合后返回 一、函数说明 1、join()函数 语法: 'sep'.join(seq) 参数说明 sep:分隔符。可以为空 seq:要连接的元素序列、字符串、元组、字典 上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串 返回值:返回一个以分隔符sep连接各个元素后生成的字符串 2、os.path.join()函数 语法: os.path.join(path1[,path2[,......]]) 返回值:将多个路径组合后返回 注:第一个绝对路径之前的参数将被忽略 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #对序列进行操作(分别使用' '与':'作为分隔符) >>> seq1 = [ 'hello' , 'good' , 'boy' , 'doiido' ] >>> print ' ' .join(seq1) hello good boy doiido

linux xargs 不同命令中传递参数

爷,独闯天下 提交于 2019-12-01 06:18:16
find . -amin -40 | grep -v "^./\." | grep -v ^.$ | xargs -I {} sudo mv {} ./test/ -a file 从文件中读入作为sdtin -e flag ,注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止。 -p 当每次执行一个argument的时候询问一次用户。 -n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。 -t 表示先打印命令,然后再执行。 -i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。 -r no-run-if-empty 当xargs的输入为空的时候则停止xargs,不用再去执行了。 -s num 命令行的最大字符数,指的是 xargs 后面那个命令的最大命令行字符数。 -L num 从标准输入一次读取 num 行送给 command 命令。 -l 同 -L。 -d delim 分隔符,默认的xargs分隔符是回车,argument的分隔符是空格,这里修改的是xargs的分隔符。 -x exit的意思,主要是配合-s使用。。 -P 修改最大的进程数,默认是1,为0时候为as many as it can ,这个例子我没有想到

Go语言注意事项

情到浓时终转凉″ 提交于 2019-12-01 05:02:47
必须恰当导入需要的包,缺少了必要的包或者导入了不需要的包,程序都无法编译通过。这项严格要求避免了程序开发过程中引入未使用的包(译注:Go语言编译过程没有警告信息,争议特性之一 import 声明必须跟在文件的 package 声明之后。随后,则是组成程序的函数、变量、常量、类型的声明语句(分别由关键字 func , var , const , type 定义)。这些内容的声明顺序并不重要(译注:最好还是定一下规范)。这个例子的程序已经尽可能短了,只声明了一个函数, 其中只调用了一个其他函数。为了节省篇幅,有些时候, 示例程序会省略 package 和 import 声明,但是,这些声明在源代码里有,并且必须得有才能编 一个函数的声明由 func 关键字、函数名、参数列表、返回值列表(这个例子里的 main 函数参数列表和返回值都是空的)以及包含在大括号里的函数体组成。 Go语言不需要在语句或者声明的末尾添加分号,除非一行上有多条语句。实际上,编译器会主动把特定符号后的换行符转换为分号, 因此换行符添加的位置会影响Go代码的正确解析(译注:比如行末是标识符、整数、浮点数、虚数、字符或字符串文字、关键字 break 、 continue 、 fallthrough 或 return 中的一个、运算符和分隔符 ++ 、 -- 、 ) 、 ] 或 } 中的一个)。举个例子, 函数的左括号

Hadoop学习之常用输入输出格式总结

梦想的初衷 提交于 2019-12-01 02:32:31
目的 总结一下常用的输入输出格式。 输入格式 Hadoop可以处理很多不同种类的输入格式,从一般的文本文件到数据库。 开局一张UML类图,涵盖常用InputFormat类的继承关系与各自的重要方法(已省略部分重载)。 DBInputFormat DBInputFormat,用来处理数据库输入的一种输入格式。KEY为LongWritable格式,表示包含的记录数;VALUE为DBWritable格式,需要根据自己的表结构继承、实现DBWritable。 使用需通过其setInput方法指定输入类、表名、字段集合、查询条件集合和排序条件,或者使用setInput的另一个重载方法直接指定输入类、SQL查询语句、统计数据条数的SQL查询语句。 其createDBRecordReader方法会根据Configuration中的数据库类型,返回对应的RecordReader,如OracleDBRecordReader、MySQLDBRecordReader。 其分片逻辑为,若已指定mapper数量,则按指定的mapper数等分查询出的数据量(最后一片统收余出的部分),若未指定mapper数,则默认一个分片。 由其派生出的DataDrivenDBInputFormat,顾名思义是一种数据驱动的数据库输入格式,与DBInputFormat的区别在于

shell-awk

﹥>﹥吖頭↗ 提交于 2019-11-30 22:00:59
awk-AWK是一种处理文本的编程语言工具 特殊字段: BEGIN语句设置计数和打印头部信息,在任何动作之前进行 END语句输出统计结果,在完成动作之后执行 分隔符默认为空格,可以用-F,改变成逗号为分隔符-F,或改成冒号-F: eg: 来源: https://www.cnblogs.com/kylingx/p/11642043.html

解决粘包问题的三种方法

邮差的信 提交于 2019-11-30 19:57:22
方法一:定长数据流 服务器客户端提前协商,每个消息定长,不足的空白字符补足 方法二: 特殊结束符 双方协商定义一个特殊的分隔符号 比如@ # $_$等 只要没有发送分隔符就意味着一条数据没有结束 方法三:协议 相对最成熟额数据传递方式,由服务器开发者提供固定格式的协议标准,双方都按照协议进行发送接收数据的。 来源: CSDN 作者: 月夜星星雨 链接: https://blog.csdn.net/m493096871/article/details/90402466