将文件的每一行保存到一系列文件的 Bash 脚本?

布拉德·帕克斯

我有一个文件,文件的每一行都有一个 json 字符串

我想将该文件的每一行保存到一个单独的 json 文件中,并可选择在每行上运行一个命令,然后再将其保存到文件中。

我怎样才能做到这一点?

布拉德·帕克斯

以下将执行此操作

save_each_line_of_file_to_a_file.sh /tmp/dump.json

save_each_line_of_file_to_a_file.sh

#!/usr/bin/env bash

function show_help()
{
  IT="
usage: FILE {OUTPUT_PREFIX} {OUTPUT_POSTFIX} ${OUTPUT_FOLDER}

e.g. 

/tmp/myfile           -> generates files in pwd, 1,2,3,4, etc for each line
/tmp/myfile OUT json  -> generates files in pwd, OUT1.json,OUT2.json,OUT3.json,OUT4.json, etc for each line
"

  echo "$IT"
  exit
}

if [ "$1" == "help" ]
then
  show_help
fi
if [ -z "$1" ]
then
  show_help
fi

OUTPUT_PREFIX=${2:-}
OUTPUT_POSTFIX=${3:-}
OUTPUT_FOLDER=${4:-}
EXTRA_CMD=${5:-}

FILE=${1:-/dev/stdin}

INDEX=1
while read line
do
  OUTPUT_FILENAME="${OUTPUT_FOLDER}${OUTPUT_PREFIX}$INDEX${OUTPUT_POSTFIX}"
  echo $OUTPUT_FILENAME
  INDEX=$((INDEX+1))

if [ -z "$EXTRA_CMD" ]
then
  echo $line > $OUTPUT_FILENAME
else
  echo $line | $EXTRA_CMD > $OUTPUT_FILENAME
fi
done < "$FILE"


      echo "$IT"
      exit
    }

if [ "$1" == "help" ]
then
  show_help
fi
if [ -z "$1" ]
then
  show_help
fi

OUTPUT_PREFIX=${2:-}
OUTPUT_POSTFIX=${3:-}
OUTPUT_FOLDER=${4:-}
EXTRA_CMD=${5:-}

FILE=${1:-/dev/stdin}

INDEX=1
while read line
do
  OUTPUT_FILENAME="${OUTPUT_FOLDER}${OUTPUT_PREFIX}$INDEX${OUTPUT_POSTFIX}"
  echo $OUTPUT_FILENAME
  INDEX=$((INDEX+1))

if [ -z "$EXTRA_CMD" ]
then
  echo $line > $OUTPUT_FILENAME
else
  echo $line | $EXTRA_CMD > $OUTPUT_FILENAME
fi
done < "$FILE"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Bash脚本中列出一系列文件?

来自分类Dev

编写bash脚本以对文件执行一系列命令

来自分类Dev

使用bash脚本从XML文件中删除一行

来自分类Dev

Bash 脚本:替换文件中的一行

来自分类Dev

如何在同一bash脚本中将输出文件的每一行作为参数传递给for循环?

来自分类Dev

在bash脚本中的特定范围内创建一系列不同的随机数

来自分类Dev

如何在bash脚本中的一系列命令中重用sudo

来自分类Dev

Bash脚本-将输出保存到文件的功能

来自分类Dev

bash脚本将文本追加到文件的第一行

来自分类Dev

如何使用Bash遍历一系列文件

来自分类Dev

如何使用bash脚本求和两个csv文件中每一行的列值?

来自分类Dev

通过从文件中的每一行获取两个参数来循环的 Shell(bash) 脚本

来自分类Dev

bash脚本的桌面文件

来自分类Dev

从bash脚本写入文件

来自分类Dev

Bash脚本:遍历文件

来自分类Dev

Bash将文件读入脚本

来自分类Dev

Bash:将python代码的结果保存到bash脚本并将结果写入文件

来自分类Dev

使用Bash脚本删除多个文件的第一行的循环

来自分类Dev

Bash脚本:为什么此文件中缺少最后一行?

来自分类Dev

使用Bash脚本删除多个文件的第一行的循环

来自分类Dev

sed无法使用bash脚本注释文件中的一行

来自分类Dev

bash 脚本在读取文件的第一行后退出

来自分类Dev

BASH脚本:如何将命令输出的每一行分配给数组中的值?

来自分类Dev

一个bash脚本,用于连接字符串并使用bash脚本在同一文件中编辑一行

来自分类Dev

将输出保存到字符串和文件bash脚本中

来自分类Dev

将文件的创建日期保存到变量中-BASH脚本-UNIX

来自分类Dev

Bash脚本创建JSON文件

来自分类Dev

在bash脚本中复制文件

来自分类Dev

如何从bash脚本获取文件

Related 相关文章

  1. 1

    如何在Bash脚本中列出一系列文件?

  2. 2

    编写bash脚本以对文件执行一系列命令

  3. 3

    使用bash脚本从XML文件中删除一行

  4. 4

    Bash 脚本:替换文件中的一行

  5. 5

    如何在同一bash脚本中将输出文件的每一行作为参数传递给for循环?

  6. 6

    在bash脚本中的特定范围内创建一系列不同的随机数

  7. 7

    如何在bash脚本中的一系列命令中重用sudo

  8. 8

    Bash脚本-将输出保存到文件的功能

  9. 9

    bash脚本将文本追加到文件的第一行

  10. 10

    如何使用Bash遍历一系列文件

  11. 11

    如何使用bash脚本求和两个csv文件中每一行的列值?

  12. 12

    通过从文件中的每一行获取两个参数来循环的 Shell(bash) 脚本

  13. 13

    bash脚本的桌面文件

  14. 14

    从bash脚本写入文件

  15. 15

    Bash脚本:遍历文件

  16. 16

    Bash将文件读入脚本

  17. 17

    Bash:将python代码的结果保存到bash脚本并将结果写入文件

  18. 18

    使用Bash脚本删除多个文件的第一行的循环

  19. 19

    Bash脚本:为什么此文件中缺少最后一行?

  20. 20

    使用Bash脚本删除多个文件的第一行的循环

  21. 21

    sed无法使用bash脚本注释文件中的一行

  22. 22

    bash 脚本在读取文件的第一行后退出

  23. 23

    BASH脚本:如何将命令输出的每一行分配给数组中的值?

  24. 24

    一个bash脚本,用于连接字符串并使用bash脚本在同一文件中编辑一行

  25. 25

    将输出保存到字符串和文件bash脚本中

  26. 26

    将文件的创建日期保存到变量中-BASH脚本-UNIX

  27. 27

    Bash脚本创建JSON文件

  28. 28

    在bash脚本中复制文件

  29. 29

    如何从bash脚本获取文件

热门标签

归档