2011-10-12 22 views
11

Tôi muốn kết hợp hai tệp cat file1 file2 > file3. Nhưng nó bắt đầu với dòng mới. Tôi không muốn điều đó. Tôi có thể sử dụng tr để thay thế tất cả các dòng mới vào không gian, nhưng tôi không thể làm điều đó, bởi vì có những dòng mới trong các tập tin mà tôi không muốn thay thế.Hợp nhất hai tệp với mèo mà không có dòng mới

+1

phải không? con mèo của tôi (trên cygwin) không đặt thêm bất kỳ dòng mới nào trước hoặc sau bất kỳ 2 tệp nào. Bạn có chắc là bạn không có dòng mới trong tệp 1 hoặc tệp 2 không? – Kashyap

+0

Bạn có thể làm rõ những gì 'file1' và' file2' trông giống như, và chỉ là những gì đầu ra bạn muốn trong 'file3'? Chính xác những gì các dòng mới nào bạn muốn trong đầu ra, và những gì dòng mới không bạn muốn? –

Trả lời

14

Bạn có thể sử dụng head với -1 như tham số -c cờ và -q

head -c -1 -q file1 file2 > file3 

head -c -1 chí đầu ra tất cả mọi thứ lên đến 1 byte cuối cùng của mã (trong trường hợp này là 1 byte cuối cùng - endline - wont be bao gồm). Các -q là do đó tên tập tin không được piped để file3 như head không theo mặc định khi head ing nhiều tập tin.


Hoặc, theo đề nghị của câu trả lời này - bash cat multiple files content in to single string without newlines , ống nó để tr:

tr -d "\n" 
+0

Tôi thích tùy chọn 'tr', cảm ơn :) –

2

trong bash, bạn có thể làm:

cat <(sed -n '1n;p' file1) <(sed -n '1n;p' file2) 
0

bạn ca sử dụng awk:

awk '(FNR>1){print}' file1 file2 

cập nhật - làm thế nào nó hoạt động:

chúng tôi yêu cầu awk để xử lý hai tập tin: file1file2. Nó sẽ in toàn bộ hồ sơ (dòng) nếu điều kiện (FNR>1) nếu đúng. FNR là biến số defined as:

FNR - Số bản ghi đầu vào trong tệp đầu vào hiện tại.

vì vậy, điều kiện (FNR>1) sẽ là đúng mỗi lần, ngoại trừ dòng đầu tiên của mỗi tệp. Bằng cách này, chúng tôi bỏ qua dòng đầu tiên của mỗi tệp.

+0

ai có thể upvoted cho điều này, cho chúng tôi biết nó hoạt động như thế nào? – kommradHomer

+0

@kommradHomer xem cập nhật –

+1

Er ... Tôi không thấy bất cứ điều gì về việc muốn bỏ qua dòng * đầu tiên * của tệp ... –

Các vấn đề liên quan