Home › Forums › Main Forums › SAS Forum › Use NULL INPUT to copy a file
-
The below codes use a NULL INPUT, i.e. INPUT with no arguments, to copy records from the input file to the output file without creating any SAS variables. This is a cool trick in our daily work.
data _null_;
infile "file path\iron.txt";
file "file path\test.txt";
input;
put _infile_;
run;It is exactly a copying work.
*Note:
_infile_ = variable can specify a CHARACTER variable that references the contents of the current input buffer for the INFILE statement, such as:Data B;
Infile cards _infile_= D;
Input A B C;
X=D;
Cards;
1 2 3
4 5 6
7 8 9
;
run;Output:
A B C X
1 2 3 1 2 3
4 5 6 4 5 6
7 8 9 7 8 9
Note: D and X are character variables, the designated size for D is 32,767 during compile time. We can NOT use Put _all_ here, which will output all the info in PDV as follows, rather than the original raw data.
Put _all_ output:
_ERROR_=0 _N_=1
_ERROR_=0 _N_=2
_ERROR_=0 _N_=3
_ERROR_=0 _N_=4
_ERROR_=0 _N_=5
_ERROR_=0 _N_=6
_ERROR_=0 _N_=7
_ERROR_=0 _N_=8
_ERROR_=0 _N_=9
_ERROR_=0 _N_=10
_ERROR_=0 _N_=11
_ERROR_=0 _N_=12
_ERROR_=0 _N_=13
_ERROR_=0 _N_=14
_ERROR_=0 _N_=15
_ERROR_=0 _N_=16
_ERROR_=0 _N_=17
_ERROR_=0 _N_=18
_ERROR_=0 _N_=19
Log in to reply.