导航:首页 > 文件教程 > shell分割文件

shell分割文件

发布时间:2024-11-25 22:07:33

⑴ shell 如何按照特定内容以及范围拆分成多个文件

#!/bin/awk
{
if(/[ ]*create table/){
name=$0;
sub("[ ]*create table ","",name);
}
print>name;
}

就是判断当前行是不是create table 如果是,就设置name变量为table 名。
随后把当前行输出到版name文件。
因此每次遇到create table 就会权变换name 文件名。不需要判断;结尾的行。

⑵ 如何用SHELL正确分割CSV文件中的列

2种方法:

#方法1:
awk -F, '{print $1","$4","$7}' no1/test.csv no2/test.csv no3/test.csv > newtext.csv
#方法2:
cat no1/test.csv no2/test.csv no3/test.csv | cut -d, -f1,4,7 > newtext.csv

⑶ shell文件中一行切多行,如何高效实现,请高人指点,非常感谢!

其实很简单,通过shell,然后搭配简单的awk就可以实现。


awk-F"%"'{print$1$2" "$1$3" "$1$4" "$1$5" "$1$6" "$1$7}'1


你可以通过shell写一个按行内读取文件,然后进行处理容。

如果在复杂点awk,应该可以一行实现,不过今天刚出差回来,有点累了,实在懒得想了。

告诉你思路了,虽然可能效率会稍微比awk直接用低点不过完成工作应该没问题。


⑷ Shell脚本如何实现对一个文件按关键字行来分成若干个小文件

五行关键字应该分割为6个文件啊?要不就是只取关键字行以下的行。

思路:用sed得出包含这个关键字的行的行号,然后根据行号分割文件。

#!/bin/sh
myFile=TestResult.txt
num=5
count=0
line=`sed-n'/FILE_TESTCASERESULT/='$myFile`
fornin$line
do
[$count-eq0]&&letstartLine=n+1&&continue
letcount+=1
letendLine=n-1
[$count-eq$num]&&endLine=`sed-n'$='myFile`
sed-n"${startLine},${endLine}p;q"$myFile>result_${count}.txt
letstartLine=n+1
done

结果保存到result_1.txt,result_2.txt,result_3.txt,result_4.txt,result_5.txt五个文件中。

注:关键字行本身不保存。如果要保存关键字行,请修改代码中的 let startLine=n+1 为 startLine=$n (两处地方)。

阅读全文

与shell分割文件相关的资料

热点内容
linuxtomcat打不开 浏览:497
网络营销与传统营销相比有哪些特点和优势 浏览:404
图片形式的文件怎么弄 浏览:779
网页文件的后缀 浏览:681
ipad录屏视频文件是什么格式 浏览:30
atm网络是什么 浏览:673
微博可以直接上传pdf文件吗 浏览:206
卖农资产品的app有哪些 浏览:181
盗版win10激活后 浏览:251
安卓慢放软件下载 浏览:111
ps笔刷文件如何导入ai 浏览:792
怎么筛选Excel里数据到word 浏览:96
文件柜多少金额形成固定资产 浏览:642
ciscoccna教程 浏览:363
ps直线工具变成箭头 浏览:572
微信丽人贷款申请条件 浏览:290
ps预设色调放在哪个文件夹 浏览:991
女生不干编程干什么 浏览:314
数据安全测评的方法有哪些 浏览:754
交友约会APP哪个好 浏览:899

友情链接