使用分隔符按照设定的时间间隔将内容从一个文件写入另一个文件

使用分隔符按照设定的时间间隔将内容从一个文件写入另一个文件

我正在尝试在 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

相关内容