使用下面的命令,我成功地用[talend template tag]替换了一个字符串,该字符串与temp.txt文件中的整个句子在target.txt文件中匹配。
sed -e '/<\!-- talend template tag -->/ {' -e 'r temp.txt' -e 'd' -e '}' -i test_target.txt
- VI温度文本**
<option value="load_csv_to_db_talend_template">[template]
load_csv_to_db</option>
<option value="transform_db_to_view_talend_template">[template]
transform_db_to_view</option>
- vi测试目标. txt**
<select class="form-control" id="job_type" name="job_type">
<option disabled selected value=""> {{ _("Select the type of Job") }} </option>
<option value="jar_file">jar</option>
<option value="sh_file">linux shell(*.sh)</option>
<option value="python_file">python</option>
<option value="talend_file">Talend</option>
<option value="postgres_sql_file">PostgreSQL</option>
<option value="oracle_sql_file">OracleSQL</option>
<option value="linux_bash">linux bash command</option>
<!-- talend template tag -->
</select>
- 在sed命令之后执行vi test_target. txt**
<select class="form-control" id="job_type" name="job_type">
<option disabled selected value=""> {{ _("Select the type of Job") }} </option>
<option value="jar_file">jar</option>
<option value="sh_file">linux shell(*.sh)</option>
<option value="python_file">python</option>
<option value="talend_file">Talend</option>
<option value="postgres_sql_file">PostgreSQL</option>
<option value="oracle_sql_file">OracleSQL</option>
<option value="linux_bash">linux bash command</option>
<option value="extract_api_file_to_csv_talend_template">[template]
extract_api_file_to_csv</option>
<option value="extract_db_to_csv_talend_template">[template]
extract_db_to_csv</option>
<option value="load_csv_to_db_talend_template">[template]
load_csv_to_db</option>
<option value="transform_db_to_view_talend_template">[template]
transform_db_to_view</option>
</select>
但它未能产生将上述结果恢复到原始状态的指示。
- 命令后应有[test_target. txt](已还原)**
<select class="form-control" id="job_type" name="job_type">
<option disabled selected value=""> {{ _("Select the type of Job") }} </option>
<option value="jar_file">jar</option>
<option value="sh_file">linux shell(*.sh)</option>
<option value="python_file">python</option>
<option value="talend_file">Talend</option>
<option value="postgres_sql_file">PostgreSQL</option>
<option value="oracle_sql_file">OracleSQL</option>
<option value="linux_bash">linux bash command</option>
<!-- talend template tag -->
</select>
我需要一个Linux命令来解决这个问题。
PS.我想做的是一个单独的订单,和之前的工作没有任何关系,换句话说,我说恢复它是为了容易理解,但它不是一个恢复作业。
谢谢你们
1条答案
按热度按时间bxjv4tth1#
通过向
-i
选项添加后缀,告知sed
将原始文件保存在备份文件中。然后,要恢复原始文件,请将其复制回去: