1

入力ファイルは次のようになります。

Header :  

            Data  
  Header2 :

data for header2

Header3 : data 3something

私がしたこと:

sed "s/^ *//;s/ *$//;s/ \{1,\}/ /g" infile | tr -s "\n"  > outfile

今では次のようなものです:

Header :  
Data  
Header2 :  
data for header2  
Header3 : data 3something

そして私が探していたのはこれです:

Header :  
Data  
Header2 :  
data for header2  
Header3 :  
data 3something  

だから、私はここで何が欠けていますか?

4

3 に答える 3

0
awk '$1 = $1 { if(NR!=8) print } END { print $1, $2 "\n" $3, $4 }' file 
Header :
Data
Header2 :
data for header2
Header3 :
data 3something
于 2012-04-25T15:48:40.453 に答える
0

ワンライナーを少し変更することで、機能させることができると思います:

sed "s/^ *//;s/ *$//;s/ \{1,\}/ /g;s/: */:\n/" infile | tr -s "\n"  > outfile
于 2012-04-24T22:58:05.383 に答える
0

これはあなたのために働くかもしれません:

sed '/^$/d;s/^\s*//;/:\s*\(\S\+\)/s//:\n\1/' file
Header :  
Data  
Header2 :
data for header2
Header3 :
data 3something
于 2012-04-24T23:34:13.723 に答える