ファイル構造:
Col1|Col2|Col3|Col4
123|456|abcdefg
Tel.: 689346589934, xyz
lckhasfkl|abc
「col3」から改行文字を削除したい。提案してください
ベストアンサー1
$ sed -e :1 -e '/|.*|.*|/!{N;b1' -e '}' -e 's/\n/ /g' < your-file
Col1|Col2|Col3|Col4
123|456|abcdefg Tel.: 689346589934, xyz lckhasfkl|abc
またはawk
均等に:
awk -F '|' '{while (NF<4) {getline more; $0 = $0 " " more};print}' < your-file
両方得る|
次の行を入力して行に追加し、行に少なくとも3文字(4つのフィールド)が含まれていない限り、スペースを追加します。
他のフィールド(4番目のフィールドを除く、そうでなければ新しいレコードが始まる場所が不明)に改行文字を含めることができ、3番目のフィールドの改行文字のみを置き換えたい場合:
sed '
:1
/|.*|.*|/!{
N;b1
}
:2
s/\n\([^|]*|[^|]*$\)/ \1/
t2' < your-file
または:
awk -F '|' -v OFS='|' '
{
while (NF < 4) {getline more; $0 = $0 "\n" more}
gsub("\n", " ", $3)
print
}' < your-file