const fs = require('fs'); const path = require('path');
uniq -d example.txt # 使用 -D 选项,显示文件中所有重复的行 uniq -D example.txt # 使用 -u 选项,只显示文件中不重复的行 uniq -u example.txt...# 使用 -w 选项,限制 uniq 命令只比较每行的前 3 个字符是否重复 uniq -w 3 example.txt # 使用 -s 选项,避免 uniq 命令比较每行的前 3 个字符,只比较后面的字符是否重复...uniq -s 3 example.txt # 使用 -f 选项,避免 uniq 命令比较第一列的内容,只比较后面的字符是否重复 uniq -f 1 example.txt 3.tr - 替换或删除字符...tr命令主要用于删除文件中控制字符或进行字符转换。...> newfile # 若要从某个文件中删除所有空字符 tr -d '\0' newfile # 若要用单独的换行替换每一序列的一个或多个换行,请输入: tr -s '\
str = 'hello' print(str.ljust(10)) # hello 在右边补了五个空格 2. rjust 返回指定长度的字符串,并在左侧使用空白字符补全(右对齐)。...str = 'hello' print(str.rjust(10)) # hello在左边补了五个空格 3. center 返回指定长度的字符串,并在两端使用空白字符补全(居中对齐)。...str = 'hello' print(str.center(10)) # hello 两端加空格,让内容居中 4. lstrip 删除 mystr 左边的空白字符。...mystr = ' he llo ' print(str.rstrip()) # he llo右边的空格被删除 6. strip 删除两断的空白字符。...除上述几种运算符以外,字符串默认不支持其他运算符。
可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。 3.基于模式匹配从字符串中提取子字符串。 4.查找文档内或输入域内特定的文本。...:匹配任意一个字符 # 剩下两个和正则中是一样的 正则表达式使用注意事项 1.所有符号皆为英文符号 2.使用三剑客时加引号 3.注意字符集,如果出现字符集问题,那么将字符集修改为C(小概率事件) 4...中包含换行符 \n 默认情况下的圆点 . 是 匹配除换行符 \n 之外的任何字符,加上 s 修饰符之后, . 中包含换行符 \n。...匹配除换行符(\n、\r)之外的任何单个字符 一般该元字符不单独用,配合*一起使用 * 前一个字符连续出现0次或多次 zl* 能匹配 "z" 以及 "zll",配合.使用要注意贪婪性 [] 字符集合,匹配所包含的任意一个字符...匹配前一个字符出现0次或1次 "do(es)?" 可以匹配 "do" 或 "does" 。? 等价于 {0,1} 注意:并不是所有的元字符,所有语言都支持。
假定正在过滤一个文本文件,对于一个有1 0个字符的脚本集,要求前4个字符之后为X C,匹配操作如下:. . . .X C. . . . 2、在行首以^匹配字符串或字符序列 ^只允许在一行的开始匹配字符或单词...在行首第4个字符为1,匹配操作表示为:^ . . . 1 3、在行尾以$匹配字符串或字符 可以说$与^正相反,它在行尾匹配字符串或字符, $符号放在匹配单词后。...\s:用于匹配单个空格符,包括tab键和换行符; \S:用于匹配除单个空格符之外的所有字符; \d:用于匹配从0到9的数字; \w:用于匹配字母,数字或下划线字符; \W:用于匹配所有与...:用于匹配除换行符之外的所有字符。 (说明:我们可以把\s和\S以及\w和\W看作互为逆运算) 下面,我们就通过实例看一下如何在正则表达式中使用上述元字符。 ...例如: /[^A-C]/ 上述字符串将会与目标对象中除A,B,和C之外的任何字符相匹配。
*Spain$", txt)RegEx 函数re 模块提供了一组函数,允许我们在字符串中搜索匹配项:函数 描述findall 返回包含所有匹配项的列表search 如果字符串中的任何位置存在匹配项...任何字符(除换行符之外的任何字符) "he..o" ^ 以...开始 "^hello" $ 以...结束 "planet$" - 零次或多次出现 "he...."falls|stays" () 捕获和分组 特殊序列特殊序列是一个 \ 后面跟着下面列表中的一个字符,具有特殊含义:字符 描述 示例\A 如果指定的字符位于字符串的开头,则返回一个匹配项...a、r 和 n 之外的任何字符的匹配项[0123] 返回字符串中存在任何指定的数字(0、1、2 或 3)的匹配项[0-9] 返回字符串中存在任何数字(0 到 9)的匹配项[0-5][0-9] 返回字符串中存在任何两位数的匹配项...:返回字符串中的任何 + 字符的匹配项findall() 函数findall() 函数返回一个包含所有匹配项的列表。
1.功能 用于去除有序文件中的重复行并将结果输出到标准输出。uniq经常和sort合用,为了使uniq起作用,所有的重复行必须是相邻的。...-f,--skip-fields=N:忽略前N个字段。字段由空白字符(空格符、Tab)分隔。如果您的文档的行被编号,并且您希望比较行中除行号之外的所有内容。...=N:指定每行要比较的前N个字符数 --help:显示帮助信息 --version:显示版本信息 3.常用示例 (1)对无序文件去重无效。...=N指定比较前N个字符。...比如我们有如下内容的文件test.txt: apple application api 打印前三个字符相同的行: uniq -w3 -D test.txt apple application ----
ls -A 列出除.及..的其它文件 ls -r 反序排列 ls -t 以文件修改时间排序 ls -S 以文件大小排序 ls -h 以易读大小显示 ls -l 除了文件名之外,还将文件的权限、所有者、...rm [选项] 文件… 实例 删除任何 .log 文件,删除前逐一询问确认: rm -i *.log 删除 test 子目录及子目录中所有档案删除,并且不用一一确认: rm -rf test 删除以 -...实例 将文件 test.log 重命名为 test1.txt mv test.log test1.txt 将文件 log1.txt,log2.txt,log3.txt 移动到根的 test3 目录中 mv...*reason$' #其中.表示一个字符,*表示任务多个;.*表示任意多个字符 find 命令 用于在文件树中查找文件,并作出相应的处理。...从第二个字符开始到第十个 9 个字符,3 个字符一组,分别表示了 3 组用户对文件或者目录的权限。权限字符用横线代表空许可,r 代表只读,w 代表写,x 代表可执行。
如果这个模式中包含空格,就必须用引号把它括起来。 grep命令中,模式可以是一个被引号括括起来的字符串,也可以是单个词,位于模式之后所有的单词都被视为文件名。...匹配除换行外的单个字符 /l..e/ 匹配包含字符 l、后跟两个任意字符、再跟字母 e 的行 * 匹配零个或多个前导字符 /*love/ 匹配在零个或多个空格紧跟着模式 love 的行 [] 匹配指定字符组内任一字符...如果要在一个目录中多个文件或目录匹配内容,则需要这个参数 -B 输出满足条件行的前几行,比如 grep -B 3 "aa" file 表示在 file 中输出有 aa 的行,同时还要输出 aa 的前 3...grep -v 这个实例中,选项-v 打印所有不含模式 2或3或5 的行。 选项-v 可用来删除输入文件汇中特定的条目。...如果真要删除这些条目,就要把 grep 的输出重定向到一个临时文件中,然后把临时文件的名字改成原文件的名字。 注意不能从原文件重定向到原文件,这样会破坏原文件的。
所有的字符串相关方法,都不会改变原有的字符串,都是返回一个结果,在这个新的返回值里,保留了执行后的结果! 一、 len len函数可以获取字符串的长度。...str = 'hello' print(str.rjust(10)) # hello在左边补了五个空格 Copy 3. center 居中对齐 返回指定长度的字符串,并在两端使用空白字符补全...删除 mystr 右边的空白字符。...mystr = ' he llo ' print(str.rstrip()) # he llo右边的空格被删除 Copy 6. strip 删除两端的空白字符。...: 返回的结果是一个字符串 join需要添加的是一个可迭代的对象,如果加入的是一个字符串,则会先迭代字符串的每个元素然后再拼接 S.join(iterable) Copy 示例: mystr = 'a'
1.双引号 若把文本放在双引号中,那么 shell 使用的所有特殊字符(除美元符号 “ $ ” 、反斜杠 " \ "、反引号 “ ` ”)都将失去它们的特殊含义,而被看成普通的字符。...(3)参数、算术扩展和命令替换仍有效 ① 切记: 所有特殊字符,除美元符号 “ $ ” 、反斜杠 " \ "、反引号 “ ` ” 以外都将失去它们的特殊含义,而被看成普通的字符。...① 单词分割 默认情况下,单词分割会先查找是否存在空格、制表符以及换行字符,然后把它们当作单词间的界定符。...3.转义字符 有时,只是想要引用单个字符。 这种情况可以通过在该字符前加上反斜杠来实现。这里的反斜杠称为转义字符。 转义字符经常在双引号中用来有选择性地阻止扩展。...转义字符也常用来消除文件名中某个字符的特殊含义。 比如,文件名中可以使用在 shell 中通常具有特殊含义的字符。这些字符包括 “ $ ”、“ ! ”、" & "、空格等。
[root@bogon ~]# cat -n /etc/issue > test.txt ##查看文件内容并显示行号,重定向到test.txt文件中 [root@bogon ~]# cat test.txt...SET1 [SET2] -c 或——complerment :取字符集的补集 -d 或——delete :删除所有属于第一字符集的字符...; -s 或—squeeze-repeats :把连续重复的字符以单独一个字符表示 -t 或--truncate-set1 :...先删除第一字符集较第二字符集多出的字符 [root@bogon ~]# tr -s '\n' < file1.txt ##删除空行 103.41.52.94 106.185.47.161 \S...$ 空白行 \< 或 或 \b 词首锚定,用于单词模式的左侧 \> 或 或 \b 词尾锚定;用于单词模式的右侧 \ 匹配整个单词 \(\) 将一个或多个字符捆绑在一起
例如,要查找仅包含“ linux”的行,请运行: $grep '^linux$' file.txt 另一个有用的示例是匹配所有空行的^ $模式。 匹配单个字符 ....例如,找到包含“ accept”或“ accent”的行,可以使用以下表达式: $grep 'acce[np]t' file.txt 如果方括号内的第一个字符是插入符号^,则它匹配方括号中未包含的任何单个字符...以下内容匹配3到9位之间的所有整数: $grep -E '[[:digit:]]{3,9}' file.txt 交替Alternation 交替是一个简单的“或”。...在下面的例子中,我们搜索Nginx日志错误文件中出现的所有单词fatal, error和critical: $grep 'fatal\|error\|critical' /var/log/nginx/error.log...\s 匹配一个空格。 以下模式将匹配单独的单词“ abject”和“ object”。
例如,查找包含“accept”或“accent”的行,可以使用以下表达式: grep 'acce[np]t' file.txt 如果方括号内的第一个字符是脱字符^,则它匹配方括号中未括起的任何单个字符。...以下模式将匹配以“co”开头、后跟除“l”和“la”之外的任何字母的任意字符串组合,如“coca”、“cobalt”等,但不匹配包含“cola”的行: grep 'co[^l]a' file.txt 你可以在方括号内指定一个字符范围...以下内容匹配3到9位之间的所有整数: grep -E '[[:digit:]]{3,9}' file.txt 交替 术语交替是一个简单的“或”。...在下面的示例中,我们将在Nginx日志错误文件中搜索单词fatal、error和critical的所有匹配项: grep 'fatal\|error\|critical' /var/log/nginx/...\< 匹配单词开头的空字符串。 \> 匹配单词末尾的空字符串。 \w 匹配一个单词。 \s 匹配空格。 下面的模式将匹配单独的单词“abject”和“object”。
连续替换字母 cc 替换整行(就是删除当前行,并在下一行插入) cw 替换一个单词(就是删除一个单词,就进入插入模式),前提是游标处于单词第一个字母(可用b定位) C (大写C)替换至行尾...删除命令 需要说明的是,vim 其实并没有单纯的删除命令,下面你理解为剪切更加准确。 以字符为单位删除 x 删除当前字符 3x 删除当前字符3次 X 删除当前字符的前一个字符。...3X 删除当前光标向前三个字符 dl 删除当前字符, dl=x dh 删除前一个字符,X=dh D 删除当前字符至行尾。...移动命令 以字符为单位移动 h 左移一个字符 l 右移一个字符 k 上移一个字符 j 下移一个字符 # 【定位字符】f和F fx 找到光标后第一个为x的字符 3fd 找到光标后第三个为...以行为单位移动 # 10指代所有数字,可任意指定 10h 左移10个字符 10l 右移10个字符 10k 上移10行 10j 下移10行 $ 移动到行尾 3$ 移动到下面3行的行尾
连续替换字母 cc 替换整行(就是删除当前行,并在下一行插入) cw 替换一个单词(就是删除一个单词,就进入插入模式),前提是游标处于单词第一个字母(可用b定位) C (大写C)替换至行尾...删除命令 需要说明的是,vim 其实并没有单纯的删除命令,下面你理解为剪切更加准确。 以字符为单位删除 x 删除当前字符 3x 删除当前字符3次 X 删除当前字符的前一个字符。...3X 删除当前光标向前三个字符 dl 删除当前字符, dl=x dh 删除前一个字符,X=dh D 删除当前字符至行尾。...移动命令 以字符为单位移动 h 左移一个字符 l 右移一个字符 k 上移一个字符 j 下移一个字符 # 【定位字符】f和F fx 找到光标后第一个为x的字符 3fd 找到光标后第三个为...以行为单位移动 # 10指代所有数字,可任意指定 10h 左移10个字符 10l 右移10个字符 10k 上移10行 10j 下移10行 $ 移动到行尾 3$ 移动到下面3行的行尾 以单词为单位移动
在变量pi_string存储的字符串中,包含原来位于每行左边的空格,为删除这些空格,可使用strip()而不是rstrip()。 ? 输出: ?...获得一个这样的字符串:它包含精确到30位小数的圆周率值。这个字符串长32字符,因为它还包含整数部分的3和小数点。 读取文本文件时,Python将其中的所有文本都解读为字符串。...让每个字符串都单独占一行,需要在write()语句中包含换行符: ? 输出: ? 像显示到终端的输出一样,还可以使用空格、制表符和空行来设置这些输出的格式。...6.分析文本 方法split(),根据一个字符串创建一个单词列表。 ? 方法split()以空格为分隔符将字符串分拆成多个部分,并将这些部分都存储到一个列表中。...结果是一个包含字符串中所有单词的列表,虽然有些单词可能包含标点。 ? 输出: ? 7.使用多个文件 ? 输出: ?
,但可以使用last读出 目录 d 连接文件 l 硬连接与软连接 设备文件 块设备 b 如硬盘 字符设备 c 如串行接口的键盘和鼠标 套接字 s 管道 p 系统中 所有的设备要么是字符特殊文件,要么是块特殊文件...对单个任意字符进行匹配(除换行符) [str] 对str中的任意单个字符进行匹配 [^str] 对任意不在str中的单个字符进行匹配 [a-b] 对a到b之间的任何字符进行匹配 \ 抑止后面的一个字符的特殊含义...的含义,使它与每一个字符匹配(而不是与除 \n 之外的每个字符匹配)。 多行模式 更改 ^ 和 $ 的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。...表示逻辑上的非;而正则表达式中使用 ^ 表示。 (2) $ 表示变量引用;表示行尾。 (3)* 表示任意0或多个字符;表示重复0个或多个字符。 (4)?表示一定有一个字符;表示重复0次或1次。...的一行 (6)[ ] 行为一致 正则表达式在vi 中的使用: 在当前行中删除从aa到zz的所有字符。 :s/aa.*zz// 在整个文件用and代替所有的&字符。
-- 我们的isEnglish()函数将一个解密的字符串分割成单独的子字符串,并检查每个子字符串是否作为一个单词存在于字典文件中。...结果是一个包含八个字符串的列表,原始字符串中的每个单词对应一个字符串。即使列表中有多个空格,也会从列表项中删除空格。...然后,我们在这个长字符串上调用split()方法,并在换行符上拆分。因为字典文件每行有一个单词,所以按换行符拆分会返回一个由字典文件中的每个单词组成的列表值。...,我们编写了removeNonLetters()函数来查找字符串中的所有字母和空格字符,所以我们可以重用它。...' Hello World '.strip() 'Hello World' 在本例中,strip()删除前两个字符串开头或结尾的空格字符。
这个功能只对特殊的安装脚本开放。 A.1.2 缩进 使用4个空格的缩进,而不使用制表符TAB。 A.1.3 行的最大长度 一行在80个字符以内比较合适,长些也可以,但最多为120个字符。...双引号中,变量(var)值会代入字符串中,特殊转义字符也会被解析成特定的单个字符,还有一些专门针对上述两项特性的特殊转义,如"\ 数组中,如果下标不是整型,而是字符串类型,必须使用单引号将下标括起,正确的写法为...说明或显示部分中,内容如中文、数字、英文单词混杂,应当在数字或者英文单词的前后加入空格。 符合上述编码规范的示例代码如下: $result = (($a + 1) * 3 / 2 + $num)).'...变量或程序名的长度必须在255个字符以内。 和保留字相同的名称不能使用。 A.2.6 常量 常量包含数字、字母和下划线,数字允许作为常量名。 常量名的所有字母必须大写。...在圆括号中的条件语句,操作符必须用空格分开,鼓励使用多重圆括号以便在复杂的条件中划分逻辑组合。 前花括号必须和条件语句在同一行,后花括号单独在最后一行,其中的内容用4个空格缩进。 if ($a !
领取专属 10元无门槛券
手把手带您无忧上云