我遇到了腳本的問題,我在基於Debian的分發上運行: 我想將包含「Hello World」的每個整行復制到新的文本文件中。 現在,我用這個腳本做:將定義的行復制到Linux Bash中的另一個文件
#!/bin/bash
string1=$(grep "Hello World" log.txt)
if [ "$string1" != "" ]; then
echo $string1 >> output.txt
fi
truncate --size 0 log.txt
但是有一個問題: 我運行此腳本計劃每個小時。 如果在一個小時內在log.txt中寫入10個「Hello World」,我將在output.txt中的所有行中匹配「Hello World」。閱讀這個非常令人困惑。
如何將每個包含「Hello World」的整行輸出到output.txt中的分隔行中?
(帶截斷最後一行僅僅是我不明白寫的空行)
聽起來像一個問題,可以通過查看'grep'的命令行選項來解決... – abiessu
嗨,謝謝,但我已經讀了很多次,找不到這個設置。我知道,如果你在cli上搜索某些東西,輸出是多行的。但是,當您在腳本中使用它並將其放到一個變量中時,它是單行的。我知道變量通常是單線。但有沒有解決方案把每個匹配的數組中的一個字符串? – user2933837