Linux文件管理:掌握文本处理与重定向命令

需积分: 5 0 下载量 28 浏览量 更新于2024-08-04 收藏 448KB PDF 举报
"day09-文件管理.pdf" 在Linux操作系统中,文件管理是日常操作的重要组成部分。本学习笔记主要介绍了两个用于文本处理和文件查看的命令:`cat`和`tac`,以及重定向符号的使用。这些命令帮助用户有效地交互、查看和编辑文件内容。 1. `cat`命令: - `cat`命令常用于查看文件内容。基本用法是`cat 文件名`,这将直接在终端上显示文件的内容。 - `-n`选项用于显示行号,这有助于跟踪文本的位置。例如,`cat -n 文件名`会在每一行前添加行号。 - `-b`选项与-n类似,但只对非空行显示行号,空行不显示行号。 - `-E`选项会在每一行的末尾显示`$`字符,这在查看脚本文件时特别有用,因为`$`通常表示行结束。 - 可以通过`cat`命令结合重定向符号`>`或`>>`来写入或追加内容到文件。例如,`cat file1.txt file2.txt > file3.txt`会合并file1.txt和file2.txt的内容并保存到file3.txt中。 2. `tac`命令: - `tac`命令的功能与`cat`相反,它按照文件的行逆序显示内容。例如,`tac 文件名`将从文件的末行开始逐行显示内容。 - `tac`在处理多个文件时,会分别反向显示每个文件的内容,而不是先连接所有文件再逆序显示。 - 当与`-b`选项结合使用时,`tac -b 文件名`会只对有内容的行进行编号,空行不显示行号。 3. 重定向符号: - `>`用于标准输出重定向,可以将命令的输出替换到指定文件中,例如`command > 文件名`,这会清空原有文件内容并写入新内容。 - `>>`用于追加输出重定向,例如`command >> 文件名`,会将命令的输出添加到文件的末尾,不会覆盖原文件内容。 - `<< EOF`是一种输入重定向,也叫Here文档,可以用来将多行文本输入到命令中。在`EOF`之后的所有内容都会作为输入,直到遇到另一个`EOF`。 通过熟练掌握这些基础命令,用户可以更高效地管理和操作Linux系统中的文件,包括查看文件内容、合并文件、追加内容以及实现输入输出的定向。这对于日常的系统维护和脚本编写工作尤为重要。

set hive.exec.dynamic.partition.mode=nonstrict; set hive.exec.parallel=true; set hive.exec.parallel.thread.number=30; --drop table if exists dm_finrisk.dm_event_walletSettleSuccessEvent_di; create table if not exists dm_finrisk.dm_event_cashLoanEvent_di( event_uuid string ,event_code string ,dt string ,event_time string ,rawSnapshot string ) COMMENT 'cashLoanEvent' PARTITIONED BY ( day bigint)stored as parquet; drop table if exists tmp.tmp_dm_event_cashLoanEvent_di_01_${zdt.addDay(-1).format("yyyyMMdd")}; create table if not exists tmp.tmp_dm_event_cashLoanEvent_di_01_${zdt.addDay(-1).format("yyyyMMdd")} as select uuid as event_uuid ,event as event_code ,from_unixtime(unix_timestamp(cast(day as string),'yyyymmdd'),'yyyy-mm-dd') as dt ,from_unixtime(cast(cast(`time` AS BIGINT)/1000 AS BIGINT),'yyyy-MM-dd HH:mm:ss') as event_time ,get_json_object(data,'$.hotPublish.rawSnapshot') as rawSnapshot from dm_finrisk.ods_event_hdfs_snapshot_di where code = 'shield@cashLoanEvent' and day=${zdt.addDay(-1).format("yyyyMMdd")} drop table if exists tmp.tmp_dm_event_cashLoanEvent_di_02_${zdt.addDay(-1).format("yyyyMMdd")}; create table if not exists tmp.tmp_dm_event_cashLoanEvent_di_02_${zdt.addDay(-1).format("yyyyMMdd")} as select event_uuid ,event_code ,dt ,event_time ,rawSnapshot from tmp.tmp_dm_event_cashLoanEvent_di_01_${zdt.addDay(-1).format("yyyyMMdd")}; alter table dm_finrisk.dm_event_cashLoanEvent_di drop if exists partition (day = ${zdt.addDay(-1).format("yyyyMMdd")}); insert overwrite table dm_finrisk.dm_event_cashLoanEvent_di partition (day = ${zdt.addDay(-1).format("yyyyMMdd")}) select event_uuid ,event_code ,dt ,event_time ,rawSnapshot from tmp.tmp_dm_event_cashLoanEvent_di_02_${zdt.addDay(-1).format("yyyyMMdd")}分析下上面代码

2023-06-08 上传