【问题标题】:How to automate linux cut command using bash如何使用 bash 自动化 linux cut 命令
【发布时间】:2018-07-22 15:16:23
【问题描述】:

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

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

文本文件.txt

"text1":"text2":"text3":"text4" “文本 1”:“文本 2”:“文本 3”:“文本 4” “文本 1”:“文本 2”:“文本 3”:“文本 4” “文本 1”:“文本 2”:“文本 3”:“文本 4” “文本 1”:“文本 2”:“文本 3”:“文本 4” “文本 1”:“文本 2”:“文本 3”:“文本 4” “文本 1”:“文本 2”:“文本 3”:“文本 4” “文本 1”:“文本 2”:“文本 3”:“文本 4” "text1":"text2":"text3":"text4"

col 1 should store in output1.txt "text1" "text1" "text1" "text1" "text1" "text1" "text1" "text1" "text1" col 2 should store in output2.txt "text2" "text2" "text2" "text2" "text2" "text2" "text2" "text2" "text2" col 3 should store in output3.txt "text3" "text3" "text3" "text3" "text3" "text3" "text3" "text3" "text3" col 4 should store in output4.txt "text4" "text4" "text4" "text4" "text4" "text4" "text4" "text4" "text4"

【问题讨论】:

  • 你希望grep textfile.txt 做什么?
  • 我想 cat 一个文本文件并将每一列 -f1,-f2,-f3,-f4 剪切成单独的输出文件。
  • 是的,您说过,但是您的代码会执行grep textfile.txt,这将挂起等待输入,所以问题是-当您写grep时,您的意思是cat还是您的意思是grep "something" textfile.txt如果是这样,那是什么“东西”?请编辑您的问题以阐明您要做什么,并提供简洁、可测试的示例输入和预期输出。
  • 猫文本文件.txt | cut -d ":" -f1 > output1.txt cat textfile.txt | cut -d ":" -f2 > output2.txt cat textfile.txt | cut -d ":" -f3 > output3.txt cat textfile.txt | cut -d ":" -f4 > output4.txt

标签: linux bash awk


【解决方案1】:

假设您问题中的每个 grep textfile.txt 都打算是 cat textfile.txt(如果是这样,请使用谷歌 UUOC),您所需要的只是:

awk -F':' '{for (i=1; i<=NF; i++) print $i > ("output"i".txt")}' textfile.txt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    • 1970-01-01
    • 2014-11-12
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 2018-11-16
    相关资源
    最近更新 更多