分隔符

转 数据库中的 date datetime timestamp的区别

不想你离开。 提交于 2019-12-24 11:47:25
转 数据库中的 date datetime timestamp的区别 DATETIME, DATE和TIMESTAMP类型是相关的。本文描述他们的特征,他们是如何类似的而又不同的。 DATETIME类型用在你需要同时包含日期和时间信息的值时。MySQL检索并且以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。(“支持”意味着尽管更早的值可能工作,但不能保证他们可以。) DATE类型用在你仅需要日期值时,没有时间部分。MySQL检索并且以'YYYY-MM-DD'格式显示DATE值,支持的范围是'1000-01-01'到'9999-12-31'。 TIMESTAMP列类型提供一种类型,你可以使用它自动地用当前的日期和时间标记INSERT或UPDATE的操作。如果你有多个TIMESTAMP列,只有第一个自动更新。 自动更新第一个TIMESTAMP列在下列任何条件下发生: 列没有明确地在一个INSERT或LOAD DATA INFILE语句中指定。 列没有明确地在一个UPDATE语句中指定且一些另外的列改变值。(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。)

MapReduce的5个流程之InputFormat

佐手、 提交于 2019-12-24 00:19:18
MapReduce的5个流程 [input阶段]获取输入数据进行分片作为map的输入 [map阶段]过程对某种输入格式的一条记录解析成一条或多条记录 [shffle阶段]对中间数据的控制,作为reduce的输入 [reduce阶段]对相同key的数据进行合并 [output阶段]按照格式输出到指定目录 抽象类InputFormat 整个类结构: InputFormat作为一个抽象类,定义了两个功能: public abstract class InputFormat < K , V > { public abstract List < InputSplit > getSplits ( JobContext context ) throws IOException , InterruptedException ; public abstract RecordReader < K , V > createRecordReader ( InputSplit split , TaskAttemptContext context ) throws IOException , InterruptedException ; } getSplits()功能: 对于输出文件做逻辑上的分片工作,getSplits()方法将文件切分成InputSplit,InputSplit的个数对应map(

正则表达式学习之grep,sed和awk

穿精又带淫゛_ 提交于 2019-12-22 16:59:43
  正则表达式是用于描述字符排列和匹配模式的一种语法,它主要用于字符串的模式分割、匹配、查找以及替换操作。   描述一个正则表达式需要字符类、数量限定符、位置限定符。规定一些特殊语法表示字符类,数量限定符和位置关系,然后用这些特殊语法和普通字符一起表示一个模式,这就是正则表达式。   正则表达式的语法规范如下:     字符类:在模式中表示一个范围,但是取值范围是一类字符中的任意一个。        数量限定符:限定字符类出现的次数。       位置限定符:描述各种字符类和普通字符之间的位置关系。       特殊字符:       正则表达式有两种规范,分别是Basic(基础)规范和Extended(扩展)规范。grep默认按照Basic规范来写,如果加“-E”选项的话就表示Extended规范。Basic规范中字符?+{}|()解释为普通字符,要表示特殊含义的话需要加\转义。Extended扩展规范中,字符?+{}|()就表示特殊含义。   下面我们来介绍三个工具:grep,sed和awk   1.grep工具     grep是一种强大的文本搜索工具,他能使用正则表达式搜索文本,并把匹配的行统计出来。     命令的使用格式:grep [选项] [-color=auto] '搜索字符串' filename     常用参数:       -c

python string

淺唱寂寞╮ 提交于 2019-12-22 11:20:41
1. str.capitalize 返回首字母大写,其他字母小写的字符串 2. str.casefold 字符串转换成小写,用于不区分大小写的字符串比较 3. str.center 返回指定长度的字符串,字符串内容居中,并使用指定字符填充 4. str.count 返回子字符串在字符串中出现的次数 5. str.encode 对字符串进行编码,返回字节对象 6. str.endswith 判断字符串是否以指定的后缀结尾 7. str.expandtabs 使用空格替换tab 8. str.find 返回子字符串在字符串中第一次出现的位置;如没找到,返回-1 9. str.format 执行字符串格式化操作,替换字段使用{}分隔,替换字段可以是表 10. str.format_map 执行字符串格式化操作,替换字段使用{}分隔,同str.for 11. str.index 同find(),但如果在字符串中没找到子字符串,会抛出错误 12. str.isalnum 判断字符串中是否至少有一个字符,并且所有字符都是字母或数字 13. str.isalpha 判断字符串中是否至少有一个字符,并且所有字符都是字母 14. str.isdecimal 判断字符串中是否至少有一个字符,并且所有字符都是十进制数字 15. str.isdigit 判断字符串中是否至少有一个字符,并且所有字符都是数字

linux之文本分析-cut-sort-wc

谁说我不能喝 提交于 2019-12-20 23:51:46
cut显示切割的行数据 (-f):选择显示的列 (-s):不显示没有分隔符的行 (-d):自定义分隔符 显示a.txt文件中以空格为分隔符的第一二列,不显示没有分隔符的行的内容 [ root@localhost a ] # cut -d' ' -s -f1,2 a.txt ooxx 12121212 oox 12212121212 显示password文件中第一列的内容 [ root@localhost a ] # cut -d':' -f1 passwd root bin daemon adm lp . . . . . . sort 排列文件的行 (-n):按数值排序 (-r):倒序 (-t):自定义分隔符 (-k):选择排序列 (-u):合并相同行 (-f):忽略大小写 [ root@localhost a ] # cat b.txt banana 12 apple 1 orange 8 (按字典序排序) [ root@localhost a ] # sort b.txt apple 1 banana 12 orange 8 (按空格后第二列的字典序排序) [ root@localhost a ] # sort -t' ' -k2 b.txt apple 1 banana 12 orange 8 (按空格后第二列的数值序排序) [ root@localhost a ] #

java8 stream接口 终端操作 collect操作

白昼怎懂夜的黑 提交于 2019-12-20 15:05:36
在之前,我们有说到,java8中的stream操作,分为中间操作和终端操作,在终端操作中,前面也看到了归约的方式,这篇主要是也说的归约操作的方式collect,收集器操作,收集器操作,可以当做是一种更高级的归约操作; 先看下stream中的collect操作 <R> R collect(Supplier<R> supplier,BiConsumer<R, ? super T> accumulator,BiConsumer<R, R> combiner); <R, A> R collect(Collector<? super T, A, R> collector); 第一个,是传入3个参数的抽象方法, 第二个只有一个参数的先看下stream中的collect操作Collectors静态工厂类,而在这个静态工厂类中,大部分的实现,都是调用的三个参数的方法,几乎满足了我们日常中所有的操作;所以说,我们只看下,这个静态工厂类中,有哪些实现; 在java8实战中,有列举出来,大家可以自己看下介绍,下面,我们通过代码,做个演示; package com.meinergy.vppd.business.api.test; import java.util.ArrayList; import java.util.Comparator; import java.util

关于System.getProperty(\"java.io.tmpdir\");的输出,及System.getProperty();参数(转自扑球小猫)

为君一笑 提交于 2019-12-20 11:28:16
1,首先来介绍下System.getProperty("java.io.tmpdir")输出因为这个输出有点特殊。   理论介绍:他是获取系统临时目录。可以是window的temp,linux的临时目录等。   实际:实际上他获取的有时候并不是我们想要获取的。比如一个web程序:如果你不用tomcat,直接一个java类main方法,然后直接输出System.getProperty("java.io.tmpdir")那么结果是你当前系统下的临时文件目录如                win7:C:\Users\用户名\AppData\Local\Temp。但如果你把web程序放入tomcat下然后再输出System.getProperty("java.io.tmpdir"),那么这是结果是:D:\apache-tomcat-7.0.47\temp。为什么呢?       这个问题其实我也还没找到答案,但是我在这里把我找到的一些解释汇总一下:     1楼:       和调用有关吧       在d:\时,是在Win下执行,返回的是Win的临时目录       在项目中,是Tomcat执行,返回是Tomcat自己设置的临时目录      2楼:       临时目录,那就哪方便建哪里了。呵呵,所以不同的环境是不一样的。       你在linux下面运行,又会是另一个路径了!  

ECMAScript6--字符串的扩展

Deadly 提交于 2019-12-20 04:02:06
字符的Unicode表示法 ES6 加强了对 Unicode 的支持,允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的Unicode码点 表示范围: \u0000 ~ \uFFFF 超出范围的字符,必须用两个双字节的形式表示 "\uD842\uDFB7" // "𠮷" "\u20BB7" // " 7" 上面代码中,如果直接在\u后面跟上超过0xFFFF的数值,JavaScript会理解成 \u20BB+7. 由于\u20BB是一个不可打印字符,所以只会显示一个空格,后面跟着一个7 ES6 对这一点做出了改进,只要将码点放入大括号,就能正确解读该字符。 "\u{20BB7}" // "𠮷" "\u{41}\u{42}\u{43}" // "ABC" let hello = 123 ; hell\u { 6 F } // 123 '\u{1F680}' === '\uD83D\uDE80' // true 上面代码中,最后一个例子表明,大括号表示法与四字节的 UTF-16 编码是等价的。 有了这种表示法之后,JavaScript 共有 6 种方法可以表示一个字符。 '\z' === 'z' // true '\172' === 'z' // true '\x7A' === 'z' // true '\u007A' === 'z' // true '\u{7A}' ===

字符串切片

倖福魔咒の 提交于 2019-12-20 03:32:07
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 字符串切片 基于模式取子串: ${var#*delimiter} 删除字符串开头到第一个分隔符之间的所有字符 ${var##*delimiter} 删除字符串开头到最后一个分隔符之间的所有字符 ${var%delimiter*} 从最右边向左删除到第一个分隔符之间的所有字符 ${var%%delimiter*} 从最右边向左删除到最后一个分隔符之间的所有字符 查找替换 ${var/pattern/substr} 在var表示的字符串中,查找pattern,用substr替换一次 ${var//pattern/substr} 在var表示的字符串中,查找pattern,用substrw全部替换 ${var/#pattern/substr} 在var表示的字符串中,查找开头pattern,用substr替换 ${var/%pattern/substr} 在var表示的字符串中,查找行尾pattern,用substr替换 注意:pattern中使用glob风格的通配符 查找删除 ${var/pattern} 删除var表示的字符中第一次被pattern匹配到的字符串 ${var//pattern} 删除var表示的字符中所有被pattern匹配到的字符串 ${var/#pattern}

AWK 命令

夙愿已清 提交于 2019-12-19 18:27:47
入门实例 last -n 5 仅取出前五行 root pts/1 192.168.1.100 Tue Feb 10 11:21 still logged in root pts/1 192.168.1.100 Tue Feb 10 00:46 - 02:28 (01:41) root pts/1 192.168.1.100 Mon Feb 9 11:41 - 18:30 (06:48) dmtsai pts/1 192.168.1.100 Mon Feb 9 11:41 - 11:41 (00:00) root tty1 Fri Sep 5 14:09 - 14:10 (00:01) 如果只是显示最近登录的5个帐号 #last -n 5 | awk '{print $1}' root root root dmtsai root awk工作流程是这样的:读入有’n’换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是”空白键” 或 “键”,所以$1表示登录用户,$3表示登录用户ip,以此类推。 显示/etc/passwd的账户 #cat /etc/passwd |awk -F ':' '{print $1}' root daemon bin sys 这种是awk+action的示例