- #!/bin/bash
- dir_to_monitor="/home/sub_dir
- prev_files=$(ls -A $dir_to_monitor)
- #echo "prev_files: $prev_files"
- prev_files_file=$(mktemp)
- ls -A $dir_to_monitor > $prev_files_file
- while true; do
- current_files=$(ls -A $dir_to_monitor)
- #echo "current_files: $current_files"
- current_files_file=$(mktemp)
- ls -A $dir_to_monitor > $current_files_file
- added_files=$(comm -13 $prev_files_file $current_files_file)
- if [ -n "$added_files" ]; then
- echo "新增文件: $added_files"
- find /${dir_to_monitor}/*.sh -type f -exec sed -i '/network restart/a\route -n' {} \;
- find /${dir_to_monitor}/.sh -type f -exec sed -i '1i\network start' {} \;
- fi
- # if [ -n "$removed_files" ]; then
- # echo "删除文件: $removed_files"
- # fi
- # 删除之前的临时文件
- rm $prev_files_file
- # 将当前文件列表临时文件重命名为上一轮的文件列表临时文件,用于下一轮对比
- mv $current_files_file $prev_files_file
- sleep 1
- done
复制代码 在含有特定内容的某行后添加新行
find /${dir_to_monitor}/*.sh -type f -exec sed -i '/network restart/a\route -n' {} \;
在每个文件开头添加新行
find /${dir_to_monitor}/*.sh -type f -exec sed -i '1i\network start' {} \;
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |