我有一个文件,文件的每一行都有一个 json 字符串
我想将该文件的每一行保存到一个单独的 json 文件中,并可选择在每行上运行一个命令,然后再将其保存到文件中。
我怎样才能做到这一点?
以下将执行此操作
save_each_line_of_file_to_a_file.sh /tmp/dump.json
#!/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] 删除。
我来说两句