PowerShell实战:Get-Content命令使用详解
目录
一、Get-Content介绍
Get-Content 主要作用是获取路径指定位置的项(文本类文件)的内容,例如文件中的文本或函数的内容。 对于文件,内容一次读取一行,并返回对象的集合,每个对象表示一行内容。
支持的格式主要包括:
文本:txt 等
脚本文件:bat、psl、vbs、sh等
后端文件:java、cs、cpp等
前端文件:html、css、js、vue、ts 等
配置文件:yml、xml、config 等
说明:
PowerShell 3.0以后的版本开始支持从项的开头或末尾获取指定数量的行。
对于包含中文字符串的话建议指定编码格式为utf8编码避免出现乱码的情况:-encoding utf8
二、语法格式
Get-Content
[-ReadCount <Int64>]
[-TotalCount <Int64>]
[-Tail <Int32>]
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-Delimiter <String>]
[-Wait]
[-Raw]
[-Encoding <Encoding>]
[-AsByteStream]
[-Stream <String>]
[<CommonParameters>]
三、参数详解
- -ReadCount:设置每次通过管道发送的内容行数。默认值为 1。 当值为0时一次发送所有文件内容。它的作用时影响显示内容所需要的时间,值越大第一行显示时间会变长,但合计的时间会减少,主要是针对哪些比较大的文件来说的。一般运维使用较少。
- -TotalCount:设置文件读取的行数(从文件头开始)也可以使用 head、first 等价替代,参数值为负数会读取整个文件内容。
- -Tail:设置文件读取的行数(从文件尾部开始),等价于last,参数值为负数会读取整个文件内容。排查日志的话使用比较频繁。
- -Path:设置获取文件的路径,可以使用通配符,因此Get-Content 可以一次性读取多个文件或者多个目录的内容。
- -Filter:用来设置限定 Path 参数的筛选条件。
- -Include:包含一个或多个项作为字符串数组,同样是作为Path筛选条件使用
- -Exclude:排除一个或多个项作为字符串数组,同样是作为Path筛选条件使用
- -Force:可以替代只读属性或创建目录以完成文件路径(可以针对操作系统隐藏文件使用)。一般使用不多。
- -Credential:用户凭据相关,很少使用。
- -Delimiter:设置在读取文件时将文件划分为对象的分隔符,默认是\n。 可以使用此参数将大文件拆分为较小的文件,分隔符不被丢弃。
- -wait:设置输出所有现有行后,使文件保持打开状态。 处于等待状态, Get-Content 每秒检查一次文件,并输出新行(如果存在)。比较常见的是tomcat日志文件,可以采用这种方式监控日志的变化,排查问题。
- -Raw:设置忽略换行符,使得文件一行展示(会保留换行符)。
- -Encoding:设置获取文件内容的编码格式。 默认值为 utf8NoBOM,推荐使用utf8避免出现乱码。支持的格式有(ascii、ansi、bigendianunicode、unicode、utf8等等)
- -AsByteStream:设置文件内容应作为字节流进行读取,是6.0版本之后新增的功能参数。目前微软官方的例子运行也有异常。
- -Stream:从文件中获取指定的备用 NTFS 文件流的内容。 输入流名称。不支持通配符。仅限Windows操作系统使用。
四、使用案例
4.1 获取文件内容
get-content .\demo.txt -encoding utf8
4.2 获取文件前三行内容
PS E:\test> get-content .\demo.txt -totalcount 3 -encoding utf8
1111
2222
3333
PS E:\test> get-content .\demo.txt -head 3 -encoding utf8
1111
2222
3333
PS E:\test> get-content .\demo.txt -first 3 -encoding utf8
1111
2222
3333
PS E:\test>
4.3 获取文件最后三行内容
PS E:\test> get-content .\demo.txt -tail 3 -encoding utf8
4.4通过管道方式获取最后两行内容
注意:该方式获取速度更快,对于大文件检索非常有用。
4.5使用逗号作为分隔符
PS E:\test> get-content tt1.txt -Delimiter "," -encoding utf8
1111,
2222,
33333
PS E:\test> get-content tt1.txt -encoding utf8
1111,2222,33333
4.6 Filter方式读取多个文件
获取指定目录下所有txt后缀的文件内容
get-content -path E:\test\* -filter "*.txt" -encoding utf8
4.7 Include方式读取多个文件
使用Include获取指定目录下所有txt后缀的文件内容
get-content -path E:\test\* -include "*.txt" -encoding utf8
相关文章:

如何在本地Docker中部署MinIO服务并实现远程访问管理界面
MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼容Amazon S3 API,因此可以与现有的S3工具和库无缝集成。MinIO的设计目标是高性能、高可用性和可扩展性。它可以在分布式模式下运行,以满足不同规模的存储需求。MinIO是一个开源的软件,可以免费使用,还可以在普通硬件上运行,降低了存储成本,下面介绍在本地Docker中部署 MinIO 服务,并实现远程访问管理界面,节约云服务器运行成本.

hive常用SQL函数及案例
Hive会将常用的逻辑封装成函数给用户进行使用,类似于Java中的函数。好处:避免用户反复写逻辑,可以直接拿来使用。重点:用户需要知道函数叫什么,能做什么。Hive提供了大量的内置函数,按照其特点可大致分为如下几类:单行函数、聚合函数、炸裂函数、窗口函数。以下命令可用于查询所有内置函数的相关信息。

解决 Hbuilder打包 Apk pad 无法横屏 以及 H5 直接打包 成Apk
下面是创建app 项目 wap站首页地址 可以配置 你H5的登录页 也可以是 你的index 页面 然后 会有一些 配置 你可以去百度 manifest.json 这个 配置文件 配置一下 就可以了 很方便 打包后直接 可以安装 到手机上。如果 你有自己的H5 也可以 自己去创建一个空壳 只需要 加上你 H5的请求地址 就可以了。当然 你的 H5前提是做了 自适应 不然 样式会很丑的。下面是manifest.json 配置文件。

算法模板之双链表图文详解
本文主要讲解双链表模板,文中带有超详细的图文讲解,希望对你的算法学习有一定的帮助。

Windows下配置最新ChromeDriver
选择与操作系统相对应的版本进行下载,并且与谷歌安装目录安装在同一位置,注意http status要为200才是正常可用。本例中,我的Chrome版本是120.0.6099.110,下载版本120.0.6099.71,可以正常使用。可以看到,当前chrome是最新版本:120.0.6099.110(正式版本) (64 位)。意思就是说:你的Chrome版本是118,但你的ChromeDriver版本是114。点击系统变量中的path,点击新增,并将chrome的安装目复制填入后,点击确定。

讲解torch扩展维度
本文讲解了通过和两个函数来扩展张量的维度。这对于深度学习中的形状变换和维度操作非常有用。函数在指定位置插入一个新维度,返回一个新的张量;而函数是一个原地操作,直接修改原始张量。在使用时,需要根据具体需求选择适合的函数,并小心处理原地操作带来的影响。希望本文能够帮助你理解和使用和函数,并在深度学习中能够灵活应用。更多关于PyTorch的形状变换和张量操作,请参考PyTorch官方文档。

讲解nginx.pid“ failed (2: The system cannot find the file specified
该脚本首先检查Nginx进程是否在运行,如果未运行则尝试重新生成"nginx.pid"文件,并启动Nginx服务。然后,脚本会启动Nginx服务。通过使用该脚本,你可以自动处理"nginx.pid" failed 错误,并重新生成所需的"nginx.pid"文件。nginx.pid 文件是Nginx Web服务器在运行过程中生成的一个文件,用于存储Nginx主进程的进程ID(PID)。它表明Nginx无法找到指定的"nginx.pid"文件,这个文件用于存储Nginx主进程的进程ID(PID)。

讲解pytho作线性拟合、多项式拟合、对数拟合
综上所述,Matplotlib 是一个功能强大且灵活的可视化库,可以帮助我们轻松创建各种类型的图形,并对其进行定制和调整,以满足不同的需求。通过使用Python的numpy和matplotlib库,我们可以轻松实现线性拟合、多项式拟合和对数拟合。拟合(Fitting)是数据分析中常用的一种方法,它可以根据已有的数据,找到最适合这些数据的函数模型。Python提供了丰富的库和工具,可用于进行线性拟合、多项式拟合和对数拟合。假设我们有一组测量的物理实验数据,我们希望通过多项式拟合来拟合出一个近似的曲线。

讲解nvcc fatal : A single input file is required for a non-link phase when an outputfile is specified
在使用nvcc编译和链接CUDA代码的过程中,要避免"nvcc fatal: A single input file is required for a non-link phase when an output file is specified"错误,你需要明确指定编译阶段和链接阶段的输入文件,并将它们分别与相关选项放在一起。这样做可以确保nvcc命令正确处理你的代码,并生成所需的输出文件。希望本文能够帮助你解决这个常见的错误,并更顺利地进行CUDA开发和GPU加速编程。

讲解device:GPU:0 but available devices are [ /job:localhost/replica:0/task:0/dev
这个错误通常由于 GPU 驱动程序、CUDA 库、环境变量配置或访问权限问题导致。通过检查安装、配置和访问权限,并尝试适当的解决方法,您应该能够解决此问题,使代码能够在 GPU 上正常运行。深度学习框架的 GPU 加速是提高模型训练和推断效率的重要手段,因此解决这些配置问题对于实现更快的深度学习任务至关重要。希望本文对您解决此类问题时能够提供指导和帮助。

Mybatis概述和快速入门
(1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。(2)MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。

讲解异常: cv::Exception,位于内存位置 0x00000059E67CE590 处
在使用OpenCV进行图像处理和计算机视觉任务时,异常是一种常见的异常情况,通常由于内存分配失败引起。在解决该异常时,我们应该考虑增加系统可用内存、优化算法和数据集,以及检查代码中的内存管理问题。通过这些方法,我们可以更好地处理异常,提高系统的稳定性和性能。希望本文能够帮助您理解和解决异常,并顺利进行OpenCV图像处理和计算机视觉任务。

讲解PyTorch 多分类损失函数
交叉熵损失函数和负对数似然损失函数是常用的多分类损失函数,根据具体的问题和需求选择合适的损失函数对模型进行训练和优化。然后,我们使用预训练的ResNet模型作为基础模型,将最后一层的全连接层替换为一个具有10个输出节点的线性层,以适应我们的分类任务。在实际应用中,您可以根据具体的场景和需求,选择适合的模型和损失函数,并根据需要进行相应的调整和优化。通过不断尝试和实践,您将能够选择最适合您的多分类问题的损失函数。为了对多分类问题进行有效的训练,我们需要使用适当的损失函数来度量模型预测与真实标签之间的差异。

讲解OpenCV对图像的光照归一化处理
光照归一化是图像处理中重要的预处理步骤之一,可以提高图像可视性和分析结果。在OpenCV中,我们可以使用直方图均衡化和自适应直方图均衡化这两种方法来实现光照归一化处理。希望通过本文的介绍,读者对OpenCV中的光照归一化处理有更深入的理解,并能在实际应用中灵活运用。如果你对OpenCV的图像处理还有更多兴趣,建议阅读OpenCV官方文档和相关教程,进一步探索其丰富功能和应用场景。

【Flink】官宣|Apache Flink 1.17 发布公告
仅供自己学习。因为我们开始用Flink 17了。Apache Flink PMC(项目管理委员)很高兴地宣布发布 Apache Flink 1.17.0。Apache Flink 是领先的流处理标准,流批统一的数据处理概念在越来越多的公司中得到认可。得益于我们出色的社区和优秀的贡献者,Apache Flink 在 Apache 社区中一直保持着快速增长,并且是最活跃的社区之一。

【Flink】字节跳动 Flink 基于 Slot 的资源管理实践
总体上来讲,Flink 整个资源管理、申请和分配围绕 Slot 展开,同时每个 TaskManager 中的 Slot 数量决定了作业在该 TaskManager 中运行的并发计算任务数量。本篇文章主要介绍了 Slot 对资源分配、释放以及计算执行的影响,希望可以帮助大家更好地决策每个 TaskManager 中的 Slot 数量,对 Flink 作业进行调优。

BigDecimal与Double的区别和使用场景
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于不需要准确计算精度的数字,可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以如果需要精确计算的结果,则必须使用BigDecimal类来操作。

【Flink】如何在 Flink 中规划 RocksDB 内存容量?
主要是自己学习。本文描述了一些配置选项,这些选项将帮助您有效地管理规划 Apache Flink 中 RocksDB state backend 的内存大小。在前面的文章 [1] 中,我们描述了 Flink 中支持的可选 state backend 选项,本文将介绍跟 Flink 相关的一些 RocksDB 操作,并讨论一些提高资源利用率的重要配置。

【redis】redis的哨兵Sentinel高可用架构
redis的哨兵Sentinel高可用架构,redis 哨兵集群与redis集群的关系以及故障转移,故障检测等原理

spring 笔记九 Spring AOP
AOP 为Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP 是OOP 的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 作用:在程序运行期间,在不修改源码的情况下对方法进行功能增强。

spring 笔记十 Spring事务管理
Spring 的声明式事务顾名思义就是采用声明的方式来处理事务。这里所说的声明,就是指在配置文件中声明,用在Spring 配置文件中声明式的处理事务来代替代码式的处理事务。声明式事务处理的作用 事务管理不侵入开发的组件。具体来说,业务逻辑对象就不会意识到正在事务管理之中,事实上也应该如此,因为事务管理是属于系统层面的服务,而不是业务逻辑的一部分,如果想要改变事务管理策划的话,也只需要在定义文件中重新配置即可。

C++会搜索的二叉树(BSTree)
本片文章主要介绍了二叉搜索树,并模拟实现!!!

C++继承后的多态 | 抽象类
本片文章介绍了继继承之后的多态和抽象类!!!

算法模板之单链表图文讲解
本文主要讲解单链表模板,文中附有图文讲解,希望对你的算法学习有一定的帮助。

Java运算符及运算符的优先级【超详细】
int a = 10;int b = 20;a + b;a < b;对操作数进行操作时的符号,不同运算符操作的含义不同。作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。Java中运算符可分为以下:算术运算符(+ - */)、关系运算符(< > ==)、逻辑运算符、位运算符、移位运算符以及条件运算符等,接下来我们来一个一个介绍。

Java中Jar包部署nohup后台启动定时按日期分割日志
在JAVA开发中很多没有用docker部署,而是选择传统的Jar包部署方式,这样就涉及日志的产生,如果直接部署日志文件会越来越大,程序怎么可能不出现问题,这样打开日志文件就会很慢,不方便后续问题的定位和解决。这样就要采取优化方案,对日志进行分割,这样便于查看。

Java Comparator多属性排序
自然排序通常情况跟equals保持一致,e1,e2是类C的元素,如果e1.compareTo(e2) == 0 那么e1和e2 equals的结果也是true。因为有的时候它俩结果一致,比如刚好就只有一个属性排序的时候,但多数情况下,二者是不一致的。比如有多个排序属性的时候。有的时候获取的数据需要在内存排序,需要根据List中T对象的属性p1,p2,p3等进行排序,该怎么写呢?这种规则掌握了,管它几个属性排序,管它什么升序降序,通通解决。多个属性,按不同的升降序规则,就变的非常简单了,只需要在下面的。

Linux 查看磁盘空间
Linux 查看磁盘空间可以使用 df 和 du 命令。

Linux多种方法安装MySQL
源码安装:优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错。使用官方编译好的二进制文件安装:优点是安装速度快,安装步骤简单,缺点是安装包很大,300M左右。yum安装。rpm安装。

Linux中mysql 默认安装位置&Linux 安装 MySQL
MySQL在Linux系统上的默认安装位置是目录。这是MySQL服务器的数据目录,包含所有数据库文件。通过检查MySQL二进制文件的路径,我们可以确认MySQL是否正确安装。在目录中,MySQL使用一系列文件和子目录来组织和存储数据。确保理解MySQL数据目录的结构对于管理和维护MySQL数据库至关重要。按照顺序安装即可解决。