我正在尝试获取文件(./answer/answerOnly.txt)的行内容以分隔文件。
给定->answerOnly.txt:
Ans1
Ans2
Ans3
Ans4
Run Code Online (Sandbox Code Playgroud)
预期输出 -> 要创建的文件
~/Desktop/miniPro$ ls distributedAnswers/
1.txt
2.txt
3.txt
4.txt
Run Code Online (Sandbox Code Playgroud)
1.txt 包含:
~/Desktop/miniPro$ cat distributedAnswers/1.txt
Ans1
Run Code Online (Sandbox Code Playgroud)
我已经尝试过->
for (( i=0;i<count;i++ ))
do
echo -n `awk 'NR==$i' answer/answerOnly.txt &> ./distributedAnswers/$i.txt`
done
Run Code Online (Sandbox Code Playgroud)
输出:正在创建空文件
观察:“awk 'NR==$i'” 只接受数字。需要一种“NR==”的方式吗?接受变量值。
谢谢并感谢您的帮助。
为什么不使用split
?
例如:
split -d -l 1 answersOnly.txt answer_ --additional-suffix=.txt --suffix-length=1 --numeric-suffixes=1
Run Code Online (Sandbox Code Playgroud)
怎么运行的:
-d
使用数值-l
按行数分割,这里1
answerOnly
是你的输入文件answer
是你的输出文件--additional-suffix=.txt
附加answer
有.txt
--suffix-length
添加长度后缀N
--numeric-suffixes
与-d相同,但允许设置起始值或者...使用bash
。
就是这样:
split -d -l 1 answersOnly.txt answer_ --additional-suffix=.txt --suffix-length=1 --numeric-suffixes=1
Run Code Online (Sandbox Code Playgroud)
"$1"
你的源文件在哪里。