首页
学习
活动
专区
圈层
工具
发布

编写一个程序,将 a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt 文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔

public static void main(String[] args) throws Exception { newManagerFile a = new newManagerFile("G:\\a.txt...", new char[] { '\n' }); newManagerFile b = new newManagerFile("G:\\b.txt", new char[] { '\n',...' ' }); FileWriter c = new FileWriter("G:\\c.txt"); String aWord = null; String bWord = null;...= null) { c.write(bWord); } c.close(); System.out.println("finish"); } } 主要对文件读写的考察,自己一开始编写的可读性不好...,借鉴了一下已有的代码进行了优化,这里建议不要过多使用string而是用stringbuffer,while语句这里的条件是比较优化的一点

2.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    五分钟入门文本处理三剑客grep awk sed

    含义 -v 显示不匹配行信息(反向搜索) -i 搜索时忽略大小写 -n 显示行号(文件中的行号) -r 递归搜索(搜索文件夹) -E 支持扩展正则表达式 -F 不按正则表达式匹配,按照字符串字面意思匹配...输出每一行有多少列 awk '{print NF}' show.txt 3 3 可以用这个输出每一行的最后一列的值 awk '{print $NF}' show.txt 输出行号 awk '{print...-"}{print $0}' show.txt python|java|php flink|hadoop|storm 输出每一行的第二列 # RS指定行分隔符 # FS指定列分隔符 awk 'BEGIN...|hadoop|storm awk '{print FILENAME}' show.txt show.txt show.txt 因为是对行进行处理,所以有几行,输出几次文件名 当然awk还有其他强大的操作...为去重 cat request.log | grep ip | awk '{print $4}' | sort | uniq 11.25.58.21 127.0.0.1 我原来维护了一个hadoop集群,当想关闭集群中的所有

    79530

    Linux三剑客老大 awk

    (根据了解awk是一种语言,不过我们只关注他处理文本的功能,用的好的话几乎可以取代excel) 原理:一般是遍历一个文件中的每一行,然后分别对文件的每一行进行处理 用法: awk [可选的命令行选项]...jack 72 84 99 $ awk '$2>=90{print $0}' score.txt kitty 90 95 87 $2>=90 表示如果当前行的第2列的值大于90则处理当前行,否则不处理。...说白了pattern部分是用来从文件中筛选出需要处理的行进行处理的,这部分是空的代表全部处理。pattern部分可以是任何条件表达式的判断结果,例如>,=,与条件表达式相结合的复合表达式,逻辑 &&,||,!同样也可以使用进来。另外pattern部分还可以使用 /正则/ 选择需要处理的行。...判断语句 判断语句是写在pattern{ 命令 }命令中的,他具备条件过滤一样的作用,同时他也可以让输出更丰富 $ awk '{if($2>=90 )print $0}' score.txt kitty

    69430

    Linux三剑客传 | 老大:AWK

    (根据了解awk是一种语言,不过我们只关注他处理文本的功能,用的好的话几乎可以取代excel) 原理:一般是遍历一个文件中的每一行,然后分别对文件的每一行进行处理 用法: awk [可选的命令行选项]...72 84 99 $ awk '$2>=90{print $0}' score.txt kitty 90 95 87 $2>=90 表示如果当前行的第2列的值大于90则处理当前行,否则不处理。...说白了pattern部分是用来从文件中筛选出需要处理的行进行处理的,这部分是空的代表全部处理。pattern部分可以是任何条件表达式的判断结果,例如>,=,与条件表达式相结合的复合表达式,逻辑 &&,||,!同样也可以使用进来。另外pattern部分还可以使用 /正则/ 选择需要处理的行。...判断语句 判断语句是写在pattern{ 命令 }命令中的,他具备条件过滤一样的作用,同时他也可以让输出更丰富 $ awk '{if($2>=90 )print $0}' score.txt kitty

    1.1K40

    linux-shell脚本命令之sed

    [ sed简单介绍: ] sed是一个非常好的文件处理工具, 它本身是一个管道命令, 以行为单位进行处理, 能够用于对数据行进行新增、选取、替换、删除等操作。...删除文件aaa.txt中第二行 [ sed工作流程: ] 使用vim这样的屏幕编辑器编辑一个文件的时候, 我们须要把这个文件打开, 这里存在两个问题: 1....sed属于流编辑器, 它在编辑文件的时候, 首先会把文件的一行内容读入内存,读入内存的部分, 称为模式空间; 然后依据我们的须要进行编辑, 编辑完后会把模式空间的内容输出到屏幕 , 并把它里面的内容清空...# 删除文件aaa.txt中第七行到第九行 (对多行进行操作) 3. sed ‘/aaa/,/bbb/d’ aaa.txt # 删除文件aaa.txt中含有aaa至含有bbb...将tb替换成TB; 再读取下一行, 将当前行的t和下一行的b替换成TB 4.

    79020

    Python 小组学习 Week3-Task3

    ,通过该对象的 iterfind 方法可以对 XML 中特定节点进行迭代。...请用代码描述这 3 个方法的区别 A: read:默认读取全部内容。 指定参数 n 时,读取指定的前 n 个字符 readline:默认读取第一行 指定参数 n 时,读取当前行的前 n 个字符。...若 n 比当前行字符总数少,读前 n 个;若 n 比当前行字符总数多,也只是读取完该行就停止了。 readlines:默认读取了所有元素,返回得到一个列表,每一行是列表中的一个元素。...# 读取一行 # 当前行的前 n 个字符。...若 n 比当前行字符个数小,读取前 n 个字符;若大于当前行字符个数,最多读取当前行 f = open('files/readme.txt','r') # print(f.readline()) print

    1.7K20

    Python 小组学习 Week3-Task3

    ,通过该对象的 iterfind 方法可以对 XML 中特定节点进行迭代。...请用代码描述这 3 个方法的区别 A: read:默认读取全部内容。 指定参数 n 时,读取指定的前 n 个字符 readline:默认读取第一行 指定参数 n 时,读取当前行的前 n 个字符。...若 n 比当前行字符总数少,读前 n 个;若 n 比当前行字符总数多,也只是读取完该行就停止了。 readlines:默认读取了所有元素,返回得到一个列表,每一行是列表中的一个元素。...# 读取一行 # 当前行的前 n 个字符。...若 n 比当前行字符个数小,读取前 n 个字符;若大于当前行字符个数,最多读取当前行 f = open('files/readme.txt','r') # print(f.readline()) print

    1.9K20

    Linux 之 Vim 编辑器从基础到大成使用

    -o/-O #示例3.显示多个文件与退出当打开多个文件时候,再文件中进行切换 :ls #列出所有打开的文件 # 1 # "1.txt" 第 1 行 # 2 %a "...2.txt" 第 1 行 #表示当前行 :n #文件后退 :N或者:prev #依次回到前一个文件 #示例4.打开一个文件 :o filename #打开一个新文件到当我文件列表中...test2 #执行结果 test2.txt" [新][unix] 6L, 31C 已写入 WeiyiGeek.局部另存为 块模式演示:将文件中的每一行进行更改 1) 在命令模式下执行%s/$/")...,并进入插入模式 cl 删除光标指定的字符,并进入插入模式 cj 删除光标所在行以及下一行的所有字符,并在光标下一行进入插入模式 ck 删除光标所在行以及上一行的所有字符,并在光标下一行进入插入模式...; 总结实现: 修改 == 删除 + 进入插入模式 快速定位 描述:当您写近千行代码的时候,如何一下将光标指向想要跳转的行,当使用() {} 等包含符时候,又如何快速的定位?

    2.3K10

    Vim编辑器基础入门

    -o/-O #示例3.显示多个文件与退出当打开多个文件时候,再文件中进行切换 :ls #列出所有打开的文件 # 1 # "1.txt" 第 1 行 # 2 %a "...2.txt" 第 1 行 #表示当前行 :n #文件后退 :N或者:prev #依次回到前一个文件 #示例4.打开一个文件 :o filename #打开一个新文件到当我文件列表中...WeiyiGeek.局部另存为 块模式演示:将文件中的每一行进行更改 1) 在命令模式下执行%s/$/");/g,"在行尾追加数据 2) 按ESC进入普通模式,并使用gg回到行首 3) 按ctrl+v...; 总结实现: 修改 == 删除 + 进入插入模式 快速定位 描述:当您写近千行代码的时候,如何一下将光标指向想要跳转的行,当使用() {} 等包含符时候,又如何快速的定位?...f(F)x #本命令表示在光标所在行进行查找, 查找光标右(左)方第一个x字符.找到后: 输入; 表示继续往下找输入, 表示反方向查找. 扩展模式的两种方法当搜索到了文件的末尾(/目标)或开头(?

    2K20

    如何用命令行将文本每两行合并为一行?

    下面对该命令进行详细解释: awk:这是一个强大的文本处理工具,它逐行读取输入文件(此处为yourFile),根据提供的模式和动作对每一行进行处理。 '{...}'...这个过程会一直重复,直到文件的最后一行。 最终效果是将yourFile中的每相邻两行合并为一行,中间以逗号和空格分隔。...下面对命令进行详细解释: sed:这是一种流编辑器,用于对文本进行逐行或模式匹配下的编辑操作。它读取输入(此处为 yourFile 文件),根据提供的命令对每一行或选定的行进行修改,并将结果输出。...在这里,它代表了由 N 命令引入的临时缓冲区中当前行与下一行之间的分隔符。 /, / 指定了要替换 \n 的内容,即逗号后跟一个空格(,)。这表示将两行之间的换行符替换为逗号和空格连接的字符串。...综上所述,此 sed 命令的作用是: 对于 yourFile 中的每一行,首先使用 N 命令将其与下一行合并为一个临时缓冲区,两者之间以换行符分隔; 然后应用 s/\n/, / 命令,将临时缓冲区中的换行符替换为逗号和空格连接的字符串

    94310

    学会这21条,你离Vim大神就不远了

    ddp 交换光标所在行和其下紧邻的一行。 6. 撤销与重做 u 撤销(Undo) U 撤销对整行的操作 Ctrl + r 重做(Redo),即撤销的撤销。 7....剪切粘贴 dd 其实就是剪切命令,剪切当前行 ddp 剪切当前行并粘贴,可实现当前行和下一行调换位置 正常模式下按v(逐字)或V(逐行)进入可视模式 然后用jklh命令移动即可选择某些行或字符...利用p命令可以对剪切的内容进行粘贴 :1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。 :1, 10 m 20 将第1-10行移动到第20行之后。 10....=4 :set expandtab >> 向右缩进 << 取消缩进 如何你要对代码进行缩进,还可以用 == 对当前行缩进,如果要对多行对待缩进,则使用 n==,这种方式要求你所编辑的文件的扩展名是被...录制宏 按q键加任意字母开始录制,再按q键结束录制(这意味着vim中的宏不可嵌套),使用的时候@加宏名,比如qa。。。q录制名为a的宏,@a使用这个宏。 19. 执行命令 # 重复前一次命令 .

    2K30

    Linux系统基本命令_linux常用基本命令

    :由一个或多个选项定义的搜寻条件; (3)actions:当文件被定位之后需要进行的操作。...默认打印出所有满足条件的路径到屏幕上。 2、在find命令中,可以使用如下的表达式(expressions) (1)-name文件名:查找与指定文件名相匹配的文件。...粘贴命令 将每一个文件中的每一行用Tab字符分隔开并排序的写到标准输出上。...paste命令中的选项使用方法与cut类似。 四十、sort命令 将正文内容进行排序并将结果送到标准输出,但是原始文件的值不会改变。其格式为:sort [选项] [文件名]。...; (5)o:进入插入模式并在光标当前行之下开启新的一行进行添加; (6)O:进入插入模式并在光标当前行之上开启新的一行进行添加; 3、命令行下修改、删除与复制的操作: (1)cc:修改光标所在行; (

    8.9K42

    Sed 高级功能:我这小脑瓜都快绕晕了

    按照我们读取一个文件的尿性,一般是持续循环读取。比如下面的python代码,print代表p命令。...然鹅,还没被填充,它就被使用了,和当前行进行了置换 2、 p命令用在了置换后的缓冲区上,第一次打印出了空行,fuck 3、 继续嘟嘟嘟,现在到了最后一行,马上进行了置换,没机会打印就到了hold_space...t label if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。测试命令。...当然还有其他更不常用的,可以使用man命令查看 man sed 一些命令:开启训练模式 看着一行行进行处理,好像很简单是不是?不可能的,看下面几个简单的命令,训练一下生锈的脑子。...G对除了第一行的其他行进行了G操作,然后反向复制回去,到了最后一行,就直接打印Pattern Space。

    98220

    Linux:sed命令详解

    sed 每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示。处理完输入文件的最后一行后,sed 便结束运行。...sed 把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件。 2. 定址 定址用于决定对哪些行进行编辑。地址的形式可以是数字、正则表达式、或二者的结合。...对所选行以外的所有行应用命令 s 用一个字符串替换另一个 g 在行内进行全局替换 w 将所选的行写入文件 x 交换暂存缓冲区与模式空间的内容 y 将字符替换为另一字符(不能对正则表达式使用 y 命令...在下一行开始编辑前,所有的编辑动作将应用到模式缓冲区中的行上。 sed -e '1,10d' -e 's/My/Your/g' datafile   #选项-e用于进行多重编辑。...6.6  w 命令 sed -n '/hrwang/w me.txt' datafile 6.7  a\ 命令 a\ 命令是追加命令,追加将添加新文本到文件中当前行(即读入模式缓冲区中的行)的后面。

    8K60

    Vim编辑器

    4)复制/粘贴(重点)(1)复制当前行(光标所在那一行)按键:yy粘贴︰在想要粘贴的地方按下 p键【将粘贴在光标所在行的下一行】 ,如果想粘贴在光标所在行之前,则使用P(shift+p)键(2)从当前行开始复制指定的行数...5)剪切/删除在VIM编辑器中,剪切与删除都是dd。如果剪切了文件,但是没有使用 p进行粘贴,就是删除操作。如果剪切了文件,然后使用p进行粘贴,这就是剪切操作。...首先要进入末行模式(在命令模式下输入冒号: )第二步:根据需求替换内容①只替换光标所在这一行的第一个满足条件的结果 (只能替换1次):s/要替换的关键词/替换后的关键词 + 回车案例:把 hello centos...中的 centos替换为centos 7.6切换光标到 hello centos 这一行:s/centos/centos 7.6②替换光标所在这一行中的所有满足条件的结果 (替换多次,只能替换一行):s.../centos7.6/g③针对整个文档中的所有行进行替换,只替换每一行中满足条件的第一个结果:%s/要替换的关键词/替换后的关键词案例:把每一行中的第一 个 hello关键词都替换为 hi:%s/hello

    1.4K22

    Python中的文件处理

    文件处理的概念已经扩展到其他多种语言,但是实现既复杂又冗长,但是与Python的其他概念一样,这里的概念也很简单。Python将文件视为文本或二进制文件的方式有所不同,这很重要。...,并且for循环将打印文件中存在的每一行。...: # Python代码来说明read()模式中的字符 file = open("file.txt", "r") print file.read(5) 使用write()模式创建文件 让我们看看如何创建文件以及写模式如何工作...lstrip():此函数从左侧的空格中删除文件的每一行。 它旨在在使用代码时提供更简洁的语法和异常处理。这就解释了为什么将它们与适用的语句一起使用是一种好的做法。...split()使用文件处理 我们还可以在Python中使用文件处理来分割行。遇到空间时,这将拆分变量。您也可以根据需要使用任何字符进行拆分。

    2.3K20

    Linux如何通过命令查看日志文件的某几行(中间几行或最后几行)「建议收藏」

    sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示。处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件。...2.定址 定址用于决定对哪些行进行编辑。地址的形式可以是数字、正则表达式、或二者的结合。如果没有指定地址,sed将处理输入文件的所有行。 地址是一个数字,则表示行号;是“$”符号,则表示最后一行。...对所选行以外的所有行应用命令 s 用一个字符串替换另一个 g 在行内进行全局替换 w 将所选的行写入文件 x 交换暂存缓冲区与模式空间的内容 y 将字符替换为另一字符(不能对正则表达式使用...在下一行开始编辑前,所有的编辑动作将应用到模式缓冲区中的行上。 sed -e ‘1,10d’ -e ‘s/My/Your/g’ datafile #选项-e用于进行多重编辑。第一重编辑删除第1-3行。...6.6 w命令 sed -n ‘/hrwang/w me.txt’ datafile 6.7 a\ 命令 a\ 命令是追加命令,追加将添加新文本到文件中当前行(即读入模式缓冲区中的行)的后面。

    10.7K60

    Linux指令入门-文本处理

    命令参数说明: 参数 说明 -n或--number 显示行号 -b或--number-nonblank 显示行号,但是不对空白行进行编号 -s或--squeeze-blank 当遇到有连续两行以上的空白行...,只显示一行的空白行 命令使用示例: 将一个自增序列写入test.txt文件中。...less 命令描述:less命令可以对文件或其它输出进行分页显示,与moe命令相似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动。...接着处理下一行,这样不断重复,直到文件末尾。 注意: sed命令不会修改原文件,例如删除命令只表示某些行不打印输出,而不是从原文件中删去。 如果要改变源文件,需要使用-i选项。...FNR 当前行在源文件中的行号 awk中还可以指定脚本命令的运行时机。

    3.9K20

    Linux 【命令】

    ",同时显示行和行号 grep -i "file" a.txt # 在a.txt文件中匹配字符串"file"不区分大小写 grep -v "file" a.txt # 在文件中过滤掉file所在行(-v...,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 awk命令形式: awk [-F|-f|-v] ‘BEGIN{} //{command1...匹配代码块,可以是字符串或正则表达式 {} # 命令代码块,包含一条或多条命令 ; # 多条命令使用分号分隔 END # 结尾代码块,在对每一行进行处理之后再执行的代码块...-F":" '{print $1}' /etc/passwd awk -F: '{print $1; print $2}' /etc/passwd # 将每一行的前二个字段,分行输出...~/mail|mysql/{print $1}' /etc/passwd IF语句: # 下面三个语句实现一个效果:当字段中匹配 “mail” 打印当前行  awk -F: '{if

    20.3K21
    领券