Save output of updated csv file as csv file itself
Hi, all
I want to sort a csv file based on timestamp from oldest to newest and save the output as csv file itself. Here is an example of my csv file.
test.csv
Output required
and this is my script:
Unfortunately, when i checked them out, there is no data in the test.csv. It is blank. Or it should be saved as another csv file? But i need to save it as csv file itself.
Please help me how to solve it. Thanks in advance.
If you read from a file and write to the same file in one operation, you'll end up corrupting the file. Work-around is to write to a temp file and then rename the temp file.
This User Gave Thanks to balajesuri For This Post:
The sort utility actually has an option to let you put the output in one of the input files... Try:
Note that since : is not a numeric character, using the -n option to sort means you are only sorting on the year in the 2nd field with your secondary sort key being the filename. If you want the month, day, hour, minute, and second portions of the 2nd field on these lines to participate in your primary sort key; remove the -n option.
This User Gave Thanks to Don Cragun For This Post:
This is extremely complicated for data that is in a form where a string comparison will work just fine (and, it doesn't solve the problem of redirecting the output wiping out the input). Just using standard sort utility options, the following does everything that was requested:
Thanks for your helps, balajesuri, Don Cragun and vgersh99!
Now I can save my csv file as csv file itself. and personally, i like one line code because it looks simple and not complex. So, i prefer to use Don Cragun's code. I used this code:
Because when i tried to run this code:
the output that i got is like this:
the header is written below the data. Would you tell me why it can be like that?
Sorry, I didn't notice the heading line before. Doing a numeric sort, the string DateTimeOriginal evaluates to 0 and sorts before 2015; while doing an alphanumeric sort, numbers sort before letters. So, you need the -n option to make the heading come out first. If you use numeric sorting, you need to make the sort key more complex to use the each year, month, day, hour, minute, and second field separate keys to avoid just using the year as your sort key:
But with your data we can use numeric sorting for the year and use alphanumeric sorting for the month, day, hour, minute and second as a single field, which siimplifies the command to just:
Your relatively simple sort seems to work because the image numbers in your pathnames are monotonically increasing as the time stamp increases AND all of your image files are in a single directory. If your real image files could be in more than one directory, might have different numbers of digits in the sequence numbers, or might come from different cameras with different image ranges, one of the above sort commands should sort correctly by date and time for you.
This User Gave Thanks to Don Cragun For This Post:
Hi,
I have another problem. I want to sort another csv file by the first field.
result.csv
SourceFile,Airspeed,GPSLatitude,GPSLongitude,Temperature,Pressure,Altitude,Roll,Pitch,Yaw
/home/intannf/foto5/2015_0313_090651_219.JPG,0.,-7.77223,110.37310,30.75,996.46,148.75,180.94,182.00,63.92 ... (2 Replies)
Hi, I am newbie in shell script.
I need your help to solve my problem.
Firstly, I have 2 files of csv and i want to compare of the contents then the output will be written in a new csv file.
File1:
SourceFile,DateTimeOriginal
/home/intannf/foto/IMG_0713.JPG,2015:02:17 11:14:07... (8 Replies)
Hi,
I have a file of csv data, which looks like this:
file1:
1AA,LGV_PONCEY_LES_ATHEE,1,\N,1,00020460E1,0,\N,\N,\N,\N,2,00.22335321,0.00466628
2BB,LES_POUGES_ASF,\N,200,200,00006298G1,0,\N,\N,\N,\N,1,00.30887539,0.00050312... (10 Replies)
Hi Friends,
I'm a great fan of this forum... it has helped me tone my skills in shell scripting. I have a challenge here, which I'm sure you guys would help me in achieving...
File A has a list of job ids and I need to compare this with the File B (*.log) and File C (extend *.log) and copy... (6 Replies)
FILE_ID extraction from file name and save it in CSV file after looping through each folders
My files are located in UNIX Server, i want to extract file_id and file_name from each file .and save it in a CSV file. How do I do that?
I have folders in unix environment, directory structure is... (15 Replies)
Hi,
I have a text file with the following format. Some of the fields are blank.
1234 3456 23 45464 327837283232 343434
5654353 34 34343 3434345 434242
....
....
....
I need to convert this file to a CSV file, like
1234, ,23, ... (3 Replies)
Hi Unix gurus,
Maybe it is too much to ask for but please take a moment and help me out. A very humble request to you gurus. I'm new to Unix and I have started learning Unix. I have this project which is way to advanced for me.
File format: CSV file
File has four columns with no header... (8 Replies)
Hi
I need to execute a select statement in a solaris environment with oracle database. The select statement returns number of rows of data.
I need the data to be inserted into a CSV file with proper format. For that we normally use "You have to select all your columns as one big string,... (2 Replies)
Hi i have wriiten a script which fetches the data from text file, and saves in the output in a text file itself, but i want that the output should save in different columns.
I have the output like:
For Channel:response_time__24.txt
1547 data points
0.339
0.299
0.448
0.581
7.380
... (1 Reply)