字元集合

简介: 字元集合(某一範圍中的單一字元)字元集合的符號是中括號:[ ],中括號裏頭放置要比對的字元範圍,其長度爲1[a-z]:英文小寫字母[A-Z]:英文大寫字母[a-zA-Z]:英文大小寫字母[0-9]:數字[a-zA-Z0-9]:英文數字[xyz]:x 或 y 或 z[a-z_-]:代表英文小寫字母、底線、以及「-」字元,將「-」放在開頭或者結尾[123.

字元集合(某一範圍中的單一字元)

字元集合的符號是中括號:[ ],中括號裏頭放置要比對的字元範圍,其長度爲1

  1. [a-z]:英文小寫字母
  2. [A-Z]:英文大寫字母
  3. [a-zA-Z]:英文大小寫字母
  4. [0-9]:數字
  5. [a-zA-Z0-9]:英文數字
  6. [xyz]:x 或 y 或 z
  7. [a-z_-]:代表英文小寫字母、底線、以及「-」字元,將「-」放在開頭或者結尾
  8. [123.]:表示1、2、3、「.」、「」這五個字符中的一個
    非在開頭放置「!」

括號擴展(Brace Expansion)

括號擴展的符號是:{ },它的用途是組合字符串

  1. 可以找出在 /usr/sbin 和 /usr/bin 目錄中,以 er 結尾的檔案,例如:/usr/sbin/adduer、/usr/sbin/safe_finger

    ls -la /usr/{sb,b}in/*er
  2. 輸出 saby、scdy兩個字符

    echo s{ab,cd}y:
  3. 找到 /bin 目錄中的 zegrep、zfgerp、zcmp 三支程式

    ls /bin/z{[ef]gre,cm}p
  4. 找出 /etc 目錄下以 .confg、.cf、.org 結尾的檔案

    ls /etc/*.{conf,cf,org}
    // ls /etc/apt/sources.list{,.bak} 找出 sources.list 和 sources.list.bak
  5. 找出 /etc 目錄下的檔案 profile 和 profile.bak(「,」之前沒有任何字元表示空字元)

    ls /etc/profile{,.bak}
  6. 在 dir1 ~ dir3 目錄下,都建立 a、b、c 三個子目錄

    sudo mkdir -p /root/tmp/{dir1, dir2, dir3}/{a, b, c}
  7. 輸出天干地支組合,例如:甲子、辛亥等

    echo {甲,乙,丙,丁,戊,己,庚,辛,壬,癸}{子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥}
  8. 九九乘法表

    echo {1,2,3,4,5,6,7,8,9}\*{1,2,3,4,5,6,7,8,9}
  9. 递增

    echo {1..11..3}
  10. 递减

    echo {100..80..5}
  11. 开头补零

    echo {001..10}
  12. 序列扩展

    echo {1..10}
    echo {a..z}

标准输入/输出转向

Unix-like 系统令人称道的地方就是,其标准输入/输出是可以重新指定到别的地方
1. 输出转向 > 转向附加 >>
用法:命令或script > 档案

echo 'hello world!' > hi.txt

原本 hello world 应该显示到屏幕上,由于使用了转向输出,改讯息不再出现,而是由 bash 开启一个新的档案 hi.txt 来存储这个字符串,存成档案后,只要使用 cat、 more、 less 等指令,就可以查看档案内容。

cat hi.txt
more hi.txt
less hi.txt

2. 转向输入 <
由键盘取得资料改由其它档案获取,称之为「转向输入」
wc -l 可以计算由键盘输入资料的行数,输入 line 5 后回车, Ctrl + D 退出


wc -l 统计行数

统计 error.log 存储了多少列的系统讯息

wc -l /var/log//apt/history.log

wc -l /var/log//apt/history.log

转向输入和转向输出合用

用法: 命令或script < 输入档 > 输出档
用例:sort < unsort.txt > sort.txt

unsort.txt 内容如图:


image.png
目录
相关文章
|
消息中间件 Java Spring
SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列)
SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列)
202 1
|
11月前
|
负载均衡 网络协议 网络安全
SLB-Backend多实例部署配置健康检查
【10月更文挑战第22天】
225 3
|
编解码 NoSQL Java
|
缓存 IDE Java
IntelliJ IDEA 2023.1 正式发布,看看又多了那些神仙功能..
IntelliJ IDEA 2023.1 正式发布,看看又多了那些神仙功能..
172 0
|
SQL Java 关系型数据库
实时数仓 Hologres产品使用合集之如何安装和使用Java SDK
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
计算机视觉 机器学习/深度学习 自然语言处理
【YOLOv8改进】CoTAttention:上下文转换器注意力(论文笔记+引入代码)
本文介绍了YOLO目标检测的创新改进,提出了一种名为Contextual Transformer (CoT)块的新型Transformer模块,用于增强视觉识别能力。CoT块通过3×3卷积编码上下文信息,并结合动态多头注意力矩阵,提高了视觉表示。此外,还提到了Large Separable Kernel Attention (LSKA)模块,它解决了大内核卷积的计算效率问题。CoTNet是基于CoT模块的Transformer风格骨干网络,可替代ResNet中的3×3卷积。CoTAttention类展示了如何在YOLOv8中集成此模块。文章还提供了源码链接和更多实战案例详情。
|
城市大脑 监控 搜索推荐
云上智能城市大脑:构建未来智慧城市的核心引擎
更加安全可靠:随着网络安全和数据保护问题的日益突出,云上智能城市大脑将加强安全防护和数据加密技术,确保城市数据和系统的安全可靠运行。 更加开放共享:未来,云上智能城市大脑将更加注重数据的开放共享和跨领域
648 0
|
搜索推荐
百度百科都是谁写的
百度百科是全民共建的网络百科全书,允许注册用户编辑词条,强调平等、协作与分享。它拥有严格的审核机制,确保内容客观、权威,以参考资料为支撑。编辑者来自各行各业,从学生到专业人士,他们的贡献提升了百科的可信度。新创建的词条若具丰富引用,尤其来自政府网站,其可信度更高。通过用户间的交流与合作,百度百科不断进化和完善。
743 1
|
缓存 安全 网络协议
对象的序列化与反序列化详解
对象的序列化与反序列化详解
221 0
对象的序列化与反序列化详解
|
存储 前端开发 安全
深入理解React中的useState:函数组件状态管理的利器
深入理解React中的useState:函数组件状态管理的利器