English 中文(简体)
替换文本档案的线,代之以使用纸质或 a子的另一种档案。
原标题:replacing lines of a text file with text of another file using sed or awk

我有文件,例如文件1.txt,我想用另一个文本档案(例如文件2.txt)中的新线来取代其几个字。 文件1.txt的格式如下: 它有点开始和结束。

START

line 1
line 2
line 3 
line 4
line 5

END

我想将第1行改为第5行,与文件2.txt中的现有路线一致。 在文件1.txt和文件2.txt中,线数并不相同。 如文件1.txt所示,文件2.txt可能有越来越多的线。

我需要有人的投入。 感谢大家的期待

问题回答

If the parts of File1.txt that you want to preserve are fixed, you only need to print the second file and include that parts:

printf  BEGIN

%s

END
  "$(<File2.txt)"

IF that s not the case (substitute START/END with the patterns that match the parts that you want to preserve):

awk  NR == FNR {
  f2 = f2 ? f2 RS $0 : $0
  next
  }
/START|END/ || !NF {
  print; next  
  }
NF && !c++ { 
  print f2 
  }  File2.txt File1.txt

该联盟的一位线人可以工作:

sed -re  /^START/,/^END/{/^START/{p;r File2.txt  -e  };/^END/p;d}  File1.txt

This inserts File2.txt between START and END but doesn t preserve empty lines after line 1 and before line 2

这试图保护空线:

sed -re  /^START/,/^END/{//!{/^$/{p;d};x;/./{x;d};x;h;r File2.txt  -e  ;d};x;s/.*//;x}  File1.txt




相关问题
what is wrong with this mysql code

$db_user="root"; $db_host="localhost"; $db_password="root"; $db_name = "fayer"; $conn = mysqli_connect($db_host,$db_user,$db_password,$db_name) or die ("couldn t connect to server"); // perform query ...

Users asking for denormalized database

I am in the early stages of developing a database-driven system and the largest part of the system revolves around an inheritance type of relationship. There is a parent entity with about 10 columns ...

Easiest way to deal with sample data in Java web apps?

I m writing a Java web app in my free time to learn more about development. I m using the Stripes framework and eventually intend to use hibernate and MySQL For the moment, whilst creating the pages ...

join across databases with nhibernate

I am trying to join two tables that reside in two different databases. Every time, I try to join I get the following error: An association from the table xxx refers to an unmapped class. If the ...

How can I know if such value exists in database? (ADO.NET)

For example, I have a table, and there is a column named Tags . I want to know if value programming exists in this column. How can I do this in ADO.NET? I did this: OleDbCommand cmd = new ...

Convert date to string upon saving a doctrine record

I m trying to migrate one of my PHP projects to Doctrine. I ve never used it before so there are a few things I don t understand. In my current code, I have a class similar to this: class ...

热门标签