首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用bash自动执行Linux cut命令

如何使用bash自动执行Linux cut命令
EN

Stack Overflow用户
提问于 2018-07-30 03:59:59
回答 1查看 104关注 0票数 -2

假设我有一个有4列的文本文件,我必须剪切每一列并将其保存到另一个文本文件中。我可以通过以下Linux命令手动执行此操作,但我希望使用bash脚本自动执行此过程。有人能帮我做这个吗?

代码语言:javascript
复制
cut  textfile.txt | cut -d ":" -f1 > output1.txt

cut  textfile.txt | cut -d ":" -f2 > output2.txt

cut  textfile.txt | cut -d ":" -f3 > output3.txt

cut  textfile.txt | cut -d ":" -f4 > output4.txt

Textfile.txt

代码语言:javascript
复制
"text1":"text2":"text3":"text4"
"text1":"text2":"text3":"text4"
"text1":"text2":"text3":"text4"
"text1":"text2":"text3":"text4"
"text1":"text2":"text3":"text4"
"text1":"text2":"text3":"text4"
"text1":"text2":"text3":"text4"
"text1":"text2":"text3":"text4"
"text1":"text2":"text3":"text4"

第1列应存储在output1.txt中

代码语言:javascript
复制
text1;
text1;
text1;
text1;
text1;
text1;

第2列应存储在output2.txt中

代码语言:javascript
复制
text2;
text2;
text2;
text2;
text2;
text2;

第3列应存储在output3.txt中

代码语言:javascript
复制
text3;
text3;
text3;
text3;
text3;
text3;

第4列应存储在output4.txt中

代码语言:javascript
复制
text4;
text4;
text4;
text4;
text4;
text4;
EN

回答 1

Stack Overflow用户

发布于 2018-07-30 04:20:39

给定:

代码语言:javascript
复制
$ cat file
"text1":"text2":"text3":"text4"
"text1":"text2":"text3":"text4"
"text1":"text2":"text3":"text4"

您可以使用awk将其转换为列:

代码语言:javascript
复制
$ awk -F: '{for (i=1;i<=NF;i++) print $i>"file" i ".txt"}' file

您可以删除引号字符并使用以下命令添加;

代码语言:javascript
复制
awk -F: '{for (i=1;i<=NF;i++) {
                gsub(/"/,"",$i) 
                print $i ";">"file" i ".txt"}}' file

结果:

代码语言:javascript
复制
$ cat file{1..4}.txt
text1;
text1;
text1;
text2;
text2;
text2;
text3;
text3;
text3;
text4;
text4;
text4;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51584073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档