Skip to main content
fix misuse of awk redirections
Source Link

Either you'll need to use multiple commands or you'll need something a bit heavier, like awk:

$ cat in.csv Column_1,Column_2,Column_3 A,B,C D,E,F G,H,I J,K,L M,N,O P,Q,R S,T,U V,W,X Y,Z,"" $ awk ' BEGIN { x='"$(awk 'END { print NR }' in.csv)"' / 2 } NR==1 { print > "out1.csv"; print > "out2.csv"; next }; NR<=x { print >>> "out1.csv"; next;next }; { print >>> "out2.csv";csv" }; ' in.csv $ cat out1.csv Column_1,Column_2,Column_3 A,B,C D,E,F G,H,I J,K,L $ cat out2.csv Column_1,Column_2,Column_3 M,N,O P,Q,R S,T,U V,W,X Y,Z,"" 

Either you'll need to use multiple commands or you'll need something a bit heavier, like awk:

$ cat in.csv Column_1,Column_2,Column_3 A,B,C D,E,F G,H,I J,K,L M,N,O P,Q,R S,T,U V,W,X Y,Z,"" $ awk ' BEGIN { x='"$(awk 'END { print NR }' in.csv)"' / 2 } NR==1 { print > "out1.csv"; print > "out2.csv"; next }; NR<=x { print >> "out1.csv"; next; }; { print >> "out2.csv"; }; ' in.csv $ cat out1.csv Column_1,Column_2,Column_3 A,B,C D,E,F G,H,I J,K,L $ cat out2.csv Column_1,Column_2,Column_3 M,N,O P,Q,R S,T,U V,W,X Y,Z,"" 

Either you'll need to use multiple commands or you'll need something a bit heavier, like awk:

$ cat in.csv Column_1,Column_2,Column_3 A,B,C D,E,F G,H,I J,K,L M,N,O P,Q,R S,T,U V,W,X Y,Z,"" $ awk ' BEGIN { x='"$(awk 'END { print NR }' in.csv)"' / 2 } NR==1 { print > "out1.csv"; print > "out2.csv"; next } NR<=x { print > "out1.csv"; next } { print > "out2.csv" } ' in.csv $ cat out1.csv Column_1,Column_2,Column_3 A,B,C D,E,F G,H,I J,K,L $ cat out2.csv Column_1,Column_2,Column_3 M,N,O P,Q,R S,T,U V,W,X Y,Z,"" 
added 58 characters in body
Source Link

Either you'll need to use multiple commands or you'll need something a bit heavier, like awk:

$ cat in.csv Column_1,Column_2,Column_3 A,B,C D,E,F G,H,I J,K,L M,N,O P,Q,R S,T,U V,W,X Y,Z,"" $ awk ' BEGIN { x='"$(awk 'END { print NR }' in.csv)"' / 2 } NR==1 { print > "out1.csv"; print > "out2.csv"; next }; NR%2 NR<=x { print >> "out1.csv"; next; }; { print >> "out2.csv"; }; ' in.csv $ cat out1.csv Column_1,Column_2,Column_3 A,B,C G,H,I MD,NE,OF SG,TH,UI YJ,ZK,""L $ cat out2.csv Column_1,Column_2,Column_3 D,E,F JM,KN,LO P,Q,R S,T,U V,W,X Y,Z,"" 

Either you'll need to use multiple commands or you'll need something a bit heavier, like awk:

$ cat in.csv Column_1,Column_2,Column_3 A,B,C D,E,F G,H,I J,K,L M,N,O P,Q,R S,T,U V,W,X Y,Z,"" $ awk ' NR==1 { print > "out1.csv"; print > "out2.csv"; next }; NR%2  { print >> "out1.csv"; next; }; { print >> "out2.csv"; }; ' in.csv $ cat out1.csv Column_1,Column_2,Column_3 A,B,C G,H,I M,N,O S,T,U Y,Z,"" $ cat out2.csv Column_1,Column_2,Column_3 D,E,F J,K,L P,Q,R V,W,X 

Either you'll need to use multiple commands or you'll need something a bit heavier, like awk:

$ cat in.csv Column_1,Column_2,Column_3 A,B,C D,E,F G,H,I J,K,L M,N,O P,Q,R S,T,U V,W,X Y,Z,"" $ awk ' BEGIN { x='"$(awk 'END { print NR }' in.csv)"' / 2 } NR==1 { print > "out1.csv"; print > "out2.csv"; next }; NR<=x { print >> "out1.csv"; next; }; { print >> "out2.csv"; }; ' in.csv $ cat out1.csv Column_1,Column_2,Column_3 A,B,C D,E,F G,H,I J,K,L $ cat out2.csv Column_1,Column_2,Column_3 M,N,O P,Q,R S,T,U V,W,X Y,Z,"" 
Source Link

Either you'll need to use multiple commands or you'll need something a bit heavier, like awk:

$ cat in.csv Column_1,Column_2,Column_3 A,B,C D,E,F G,H,I J,K,L M,N,O P,Q,R S,T,U V,W,X Y,Z,"" $ awk ' NR==1 { print > "out1.csv"; print > "out2.csv"; next }; NR%2 { print >> "out1.csv"; next; }; { print >> "out2.csv"; }; ' in.csv $ cat out1.csv Column_1,Column_2,Column_3 A,B,C G,H,I M,N,O S,T,U Y,Z,"" $ cat out2.csv Column_1,Column_2,Column_3 D,E,F J,K,L P,Q,R V,W,X