![使用分隔符按照设定的时间间隔将内容从一个文件写入另一个文件](https://linux22.com/image/39888/%E4%BD%BF%E7%94%A8%E5%88%86%E9%9A%94%E7%AC%A6%E6%8C%89%E7%85%A7%E8%AE%BE%E5%AE%9A%E7%9A%84%E6%97%B6%E9%97%B4%E9%97%B4%E9%9A%94%E5%B0%86%E5%86%85%E5%AE%B9%E4%BB%8E%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6.png)
我正在尝试在 bash 中编写一个脚本,每 2 秒读取一个文件file1
并写入另一个文件file2
,这很简单。
但是,我想file2
逐行写入或使用分隔符。
例如:
File1 = Some text goes in here
我想file2
每2秒写入第一个单词Some
,但只写入一次,2秒后写入第二个单词,依此类推,直到结束file1
。
答案1
我会将分隔符转换为新行以实现“逐行基础”或者分隔符”,例如:
脚本:
echo -e "foo:bar\nbaz" > myfile
i=0
while read -r foo; do
echo $i $foo
i=$((i += 1))
done < <(cat myfile | tr ':' '\n')
输出:
0 foo
1 bar
2 baz
答案2
一个 python 脚本示例,您可以从其中开始编写所需的脚本,从第一个文件中读取单词并打印到 stdout,但您可以打开另一个文件并在那里写入
#!/usr/bin/python
import time
File = open("words", "r")
Wordlist = File.readline().split()
n = 0
while True:
time.sleep(2)
print "File2 = " + Wordlist[n] #you can change this
n = n + 1
if n == Wordlist.__len__():
break