字符数统计

14.Linux之搜索命令

拟墨画扇 提交于 2020-03-07 20:09:39
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。格式:grep [option] pattern file。 常用选项如下: -A 行数:显示搜索结果那一行及该行之后指定行数的内容。 -B 行数:显示搜索结果那一行及该行之前指定行数的内容。 -C 行数:-A与-B的结合,显示搜索结果那一行及该行之前和之后指定行数的内容。 例如:grep -C 1 tzdata install.log 在install.log文件中搜索包含tzdata字符串的行,并显示结果行及前后各一行的内容。结果显示文件中有两处符合搜索结果。 -c:统计符合搜索结果的总行数。 -H:在显示搜索结果那一行内容的前面标注所在文件。 -h:与-H相反,在显示搜索结果那一行内容的前面不标注所在文件。 -i:忽略大小写进行搜索。 -L:与-l相反,列出不包含搜索结果的文件的文件名。 -l:与-L相反,列出包含搜索结果的文件的文件名。 -n:在显示搜索结果那一行内容的前面标注所在行号。 -s:不显示错误信息。 -v:显示不包含搜索文本的行。 常用匹配模式如下: 字符串或者“字符串”:最简单的一种,例如grep tzdata install.log或者grep “tzdata” install.log。 ^:匹配行的开始,例如'^grep'匹配所有以grep开头的行。 $:匹配行的结束

1187:统计字符数

你说的曾经没有我的故事 提交于 2020-03-02 14:49:04
1187:统计字符数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 6963 通过数: 3990 【题目描述】 给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。 【输入】 输入包含一行,一个字符串,长度不超过1000。 【输出】 输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。 【输入样例】 abbccc 【输出样例】 c 3 思路:分捡计数, 然后 比较打印 最多次数 的编号 和值,转换输出 字符 # include <iostream> # include <cstdio> # include <cstring> using namespace std ; char str [ 1100 ] ; int main ( ) { int a [ 30 ] = { 0 } ; int len , max = - 1 ; int i , j ; cin >> str ; len = strlen ( str ) ; for ( i = 0 ; i < len ; i ++ ) a [ str [ i ] - 'a' ] ++ ; for ( i = 0 ; i < 26 ; i ++ ) if ( a [ i ] > max ) { j =

正则配合grep使用简介

醉酒当歌 提交于 2020-02-10 16:02:31
grep grep: Global search REgular expression and Print out the line 作用:文本搜索工具,根据用户指定的“模式”对目标文 本逐行进行匹配检查;打印匹配到的行 模式:由正则表达式字符及文本字符所编写的过滤条件 grep [OPTIONS] PATTERN [FILE...] grep root /etc/passwd grep "$USER" /etc/passwd grep '$USER' /etc/passwd grep `whoami` /etc/passwd grep命令选项 --color=auto: 对匹配到的文本着色显示 -v: 显示不被pattern匹配到的行 -i: 忽略字符大小写 -n:显示匹配的行号 # grep -n root /etc/passwd 1:root:x:0:0:root:/root:/bin/bash 10:operator:x:11:0:operator:/root:/sbin/nologin -c: 统计匹配的行数 # grep -c root /etc/passwd 2 -o: 仅显示匹配到的字符串 grep -o root /etc/passwd root root root root -q: 静默模式,不输出任何信息 主要在脚本中使用,之查看匹配结果是否成功

C语言经典例17-统计字符个数

自古美人都是妖i 提交于 2020-02-06 02:02:39
目录 1 题目 2 分析 3 实现 4 运行结果 1 题目 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 2 分析 题目中未知字符串的长度,所以不使用预先设置字符数组的方式,使用逐个读取字符然后判断统计的方法,我们知道英文字母分大写字母和小写字母,在 ASCII 码中,大写字母在小写字母之前,且是正序排列的,那么判断该字符是否是英文字符的方法就为 (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') ,判断数字同理,空格就单独判断,若以上都不是则为其他字符 3 实现 # include <stdio.h> int main ( ) { char c ; // 临时字符 int letters = 0 ; // 字母个数 int spaces = 0 ; // 空格个数 int digits = 0 ; // 数字字符 int others = 0 ; // 其他字符 printf ( "请输入一串字符,以回车结束:" ) ; while ( ( c = getchar ( ) ) != '\n' ) { if ( ( c >= 'a' && c <= 'z' ) || ( c >= 'A' && c <= 'Z' ) ) { letters ++ ; } else if ( c >= '0' && c <= '9'

【华为机试练习】字符个数统计

回眸只為那壹抹淺笑 提交于 2020-01-26 13:21:09
题目描述 编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127),换行表示结束符,不算在字符里。不在范围内的不作统计。 输入描述: 输入N个字符,字符在ACSII码范围内。 输出描述: 输出范围在(0~127)字符的个数。 解法(C语言版): #include<stdio.h> #include<stdlib.h> int main() { char ch; int flag[128] = {0}; int i, count = 0; while((ch = getchar()) != '\n') { i = (int)ch; if(i >= 0 && i <= 127 && flag[i] == 0) { count++; flag[i] = 1; } } printf("%d\n", count); return 0; } 来源: 51CTO 作者: Yuanmes 链接: https://blog.51cto.com/13614527/2468422

7-10

ε祈祈猫儿з 提交于 2020-01-01 22:48:59
文本处理   文件查看命令: cat,nl,tac,rev    cat [OPTION]... [FILE]...       -E:显示行结束符$       -n:对显示出的每一行进行编号       -A:显示所有控制符       -b:非空行编号       -s:压缩连续的空行成一行    分页查看文件内容:more,less   more:分页查看文件     more [OPTIONS...] FILE...         -d: 显示翻页及退出提示    less:一页一页地查看文件或STDIN输出 查看时有用的命令包括:     /文本 搜索 文本 n/N 跳到下一个 或 上一个匹配 less 命令是man命令使用的分页器   显示文本前或后行内容   head [OPTION]... [FILE]...       -c # 指定获取前#字节       -n # 指定获取前#行       -# 指定行数    tail [OPTION]... [FILE]...       -c # 指定获取后#字节       -n # 指定获取后#行       -# 同上       -f 跟踪显示文件fd新追加的内容,常用日志监控,相当于 --follow=descriptor       -F 跟踪文件名,相当于--follow=name -

1129:统计数字字符个数

瘦欲@ 提交于 2019-12-29 16:23:08
1129:统计数字字符个数 【题目描述】 输入一行字符,统计出其中数字字符的个数。 【输入】 一行字符串,总长度不超过255。 【输出】 输出为1行,输出字符串里面数字字符的个数。 【输入样例】 Peking University is set up at 1898. 【输出样例】 4码 # include <bits/stdc++.h> using namespace std ; int main ( ) { string s ; int ans = 0 ; getline ( cin , s ) ; for ( int i = 0 ; i < s . size ( ) ; i ++ ) if ( s [ i ] >= '0' && s [ i ] <= '9' ) ans ++ ; cout << ans ; return 0 ; } 来源: CSDN 作者: hipoole 链接: https://blog.csdn.net/hipoole/article/details/103749388

5 郭晓阳

心已入冬 提交于 2019-12-28 08:52:52
第二周 从简单命令到第二周学习,课程逐渐的步入正轨了。从文件权限到VIM再到编写简单的脚本,自我感觉还行,王老师讲的课也能跟的上。就是下来有些命令的选项要多背多记像tr cut sort以后用得上的多记总是好的 还有就是grep以及正则表达式,重点记忆。文本处理工具,工作上必不可少的东西,异常的繁琐还有晦涩难懂,各种字符的组合。今后课程中会经常用到,相信自己会逐渐熟练的 字符匹配元字符: . 任意单个字符 [ wang ] 指定范围的字符 [ ^wang ] 不在指定范围的字符 [ :alnum: ] 字母和数字 [ :alpha: ] 代表任何英文大小写字符,亦即 A-Z, a-z [ :lower: ] 小写字母,示例: [ [ :lower: ] ] ,相当于 [ a-z ] [ :upper: ] 大写字母 [ :blank: ] 空白字符(空格和制表符) [ :space: ] 水平和垂直的空白字符(比 [ :blank: ] 包含的范围广) [ :cntrl: ] 不可打印的控制字符(退格、删除、警铃 .. .) [ :digit: ] 十进制数字 [ :xdigit: ] 十六进制数字 [ :graph: ] 可打印的非空白字符 [ :print: ] 可打印字符 [ :punct: ] 标点符号 文本处理三剑客之一grep的常见选项: --color = auto

6-8 jmu-java&python-统计字符个数 (10分)

馋奶兔 提交于 2019-12-09 19:29:42
编写程序统计1行字符串中: 不同字符的个数。 每种字符出现的次数。 函数接口定义: Freq(line) 函数功能:该函数统计不同字符出现的次数,并最后按照字符升序进行输出。输出格式见输出样例。 参数说明:line为需要统计的字符串。 裁判测试程序样例: /* 请在这里填写答案 */ line = input() Freq(line) 输入样例: abc 123 adex!!! 输出样例: 11 = 2 ! = 3 1 = 1 2 = 1 3 = 1 a = 2 b = 1 c = 1 d = 1 e = 1 x = 1 输出格式说明: 第1行输出不同字符的个数。 =两边应有空格。 上述输出样例中第2行的字符是空格。 输出按照字符升序排列。 def Freq ( line ) : rlist = list ( line ) rdict = { } for i in rlist : if rdict . get ( i , - 1 ) == - 1 : rdict [ i ] = 1 else : rdict [ i ] += 1 print ( len ( rdict ) ) res = sorted ( rdict ) k = 0 for j in range ( len ( rdict ) ) : for key , value in rdict . items ( ) :

算法 字符个数统计

筅森魡賤 提交于 2019-11-30 23:39:22
题目描述 编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127),换行表示结束符,不算在字符里。不在范围内的不作统计。 输入描述: 输入N个字符,字符在ACSII码范围内。 输出描述: 输出范围在(0~127)字符的个数。 示例1 输入 复制 abc 输出 复制 3直接hash: #include <iostream> #include <string> using namespace std; int main() {   string str;   char sz[128]={0};   int length = 0;   int count=0;   cin>>str;   length = str.size();   for(int i = 0; i < length; i++) {     sz[str[i]] = 1;   }   for(int i = 0; i < 128;i++){     if(sz[i]!=0){       count++;     }   }   cout << count << endl;   return 0; } 来源: https://www.cnblogs.com/liuruoqian/p/11644851.html