シェルスクリプトにおけるwhile readについて相談させてください。
やりたいこと
while readにおいて、読みだしてくるファイルを適宜削除し
読み出すか読みださないかを変更できるようにしたいです。
以下の例でいうと、テキストファイルtest.txt内の「cccccc」をechoで表示させないようにする認識です。
main.shとtest.txtの内容はできるだけ変更せずに実装したいです。
■main.sh while read line do if [ `echo $line | awk '{print $1}' ` == "bash" ];then eval "$line" else echo $line fi done < test.txt
■ChangeFile.sh LINE=`grep -n "cccccc" test.txt | awk '{print $1}' | sed s/[^0-9]//g` sed -i "${LINE}d" test.txt TEST=$(<test.txt) echo $TEST
■test.txt aaaaaa bbbbbb bash ChangeFile.sh cccccc cddddd
現状
以下実行結果の通りです。
■実行結果 aaaaaa bbbbbb aaaaaa bbbbbb bash ChangeFile.sh dddddd cccccc dddddd
「cccccc」が出力されないようにしたいです。
回答2件
あなたの回答
tips
プレビュー