Sponsored Content
Top Forums UNIX for Dummies Questions & Answers naming files that csplit creates Post 302343202 by Smiling Dragon on Wednesday 12th of August 2009 02:06:51 AM
Old 08-12-2009
Oh I see, you want the filename to be changed to match the part between the | characters within the file itself?

If so:
Code:
for file in xx*; do mv "$file" `head -1 "$file" | cut -d '|' -f 2`.txt; done

Should do the trick.

I've picked a .txt extension for the new filename, but you can change it whatever you wish.

Note that this will run on anything starting with xx so be careful what else is in that directory when you run this.

Better yet, test it someplace safe first.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Split files using Csplit

I have an excel file with more than 65K records... Since excel does not take more than 65K records i wan to split the file and send it as two excel files... Could some help me how to use the csplit by specifiying the no of records (7 Replies)
Discussion started by: savitha
7 Replies

2. Windows & DOS: Issues & Discussions

gVim creates and leaves strange tilde ~ files in Windows

Hey folks, I have used gVim in Windows for many years but I have never found an answer to a very simple question I am going to ask you guys... My question is if there is a way to eliminate the creation of those ~ files that gVim creates in Windows. If you have ever used gVim in Windows you... (2 Replies)
Discussion started by: ghbarratt
2 Replies

3. UNIX for Dummies Questions & Answers

SCO 5.0.7 Cron creates files with 600, need 644

Hi, I've searched and read, and searched and read some more; but I'm still not connecting the dots or understanding what I need to change. I have a script that creates a file. If I run it as root, the file gets created with 644 permissions like I want. That seems to make sense (at least I... (2 Replies)
Discussion started by: 65bit
2 Replies

4. Shell Programming and Scripting

Complex overlap and naming of 2 input files - Awk

for every specific $1,$2 check the values ($2,$3) of their E ot I of input1 and overlap with input2. Specify names based on output. ####### if middle value is missing name them "SE" if first value is missing name them "AFE" if last value is missing name them "ALE" if 2 middle values are... (1 Reply)
Discussion started by: ruby_sgp
1 Replies

5. Shell Programming and Scripting

Concatenate files to one file with naming convention

Hi , i have below files in wrk folder. file names are 1102090001.CLT 1102090003.CLT 1102100019.CLT 1102100020.CLT the above files are concatenate to one file but that concatenate file name must be same naming convention. (date +%y%m%d)and 0001 count. example : concatenate file... (9 Replies)
Discussion started by: krbala1985
9 Replies

6. UNIX for Dummies Questions & Answers

naming files in awk

I have a whole directory and I need each lines of each file to be separated to a new file but I am facing problem naming them :( some of the files even might be empty the output files should be names original file name + the number of the line or any incremental number FILES="data/*" for X in... (12 Replies)
Discussion started by: A-V
12 Replies

7. UNIX Desktop Questions & Answers

Combining files with specific patterns of naming in a directory

Greetings Unix exports, I am facing some problems in combining files with different name patterns with a directory and I would appreciate if you can help me I have more than 1000 files but they follow a specific pattern of naming. e.g. 64Xtest01.txt They are divided into two sets of test and... (9 Replies)
Discussion started by: A-V
9 Replies

8. UNIX for Advanced & Expert Users

Allow user without dir write permission to execute a script that creates files

In our project we have several unix scripts that trigger different processes. These scripts write logs to a particular folder 'sesslogs', create output data files in a separate directory called 'datafiles' etc. Usually L1 support team re-run these scripts . We donot want L1 support team to have... (14 Replies)
Discussion started by: waavman
14 Replies

9. Shell Programming and Scripting

Concatenation of files with same naming patterns dynamically

Since my last threads were closed on account of spamming, keeping just this one opened! Hi, I have the following reports that get generated every 1 hour and this is my requirement: 1. 5 reports get generated every hour with the names "Report.Dddmmyy.Thhmiss.CTLR"... (5 Replies)
Discussion started by: Jesshelle David
5 Replies

10. Shell Programming and Scripting

Convert creates multiple files

I want to crop an image and am using convert convert mountain.png -crop 3000x4500 +repage -format png mountain--cr.png The problem is that convert is creating 4 files mountain--cr-0.png mountain--cr-1.png mountain--cr-2.png mountain--cr-3.png The first is what I need, the other... (10 Replies)
Discussion started by: Kangol
10 Replies
csplit(1)						      General Commands Manual							 csplit(1)

NAME
csplit - Splits files by context SYNOPSIS
csplit [-f prefix] [-ks] [-nnumber] file | - arg1...argn The csplit command reads the specified file (or standard input) and separates it into segments defined by the specified arguments. The csplit command optionally prints the sizes, in bytes, of each file created. STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: csplit: XCU5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. OPTIONS
Specifies the prefix name (xx by default) for the created file segments. Leaves previously created file segments intact in the event of an error. By default, created files are removed if an error occurs. Uses number decimal digits to form file names for the file pieces. The default is 2. Suppresses the display of file size messages. OPERANDS
Specifies the text file to be split. If you specify - in place of the input file name, csplit reads from standard input. The operands arg1...argn can be a combination of the following: Creates a file using the contents of the lines from the current line up to, but not including, the line that results from the evaluation of the regular expression with an offset, if included. The offset argument can be any integer (positive or negative) that represents a number of lines. A plus or minus sign is required. Has the same effect as /pattern/, except that no segment file is created. Moves forward or backward the specified number of lines from the line matched by an immediately preceding pattern argument (for example, /Page/-5). Creates a file containing the segment from the current line up to, but not including, line_number, which becomes the current line. Repeats the preceding argument the specified number of times. This number can follow any of the pattern or line_number arguments. If it follows a pattern argument, csplit reuses that pattern the specified number of times. If it follows a line_number argument, csplit splits the file from that point every line_number of lines for number times. DESCRIPTION
By default, csplit writes the file segments to files named xx00 ...xxn, where n is the number of arguments listed on the command line (n may not be greater than 99). These new files get the following pieces of file: From the start of file up to, but not including, the line referenced by the first argument. From the line referenced by the first argument up to the line referenced by the second argument. From the line referenced by the last argument to the end of file. The csplit command does not alter the original file, unless a generated file overwrites the original file. Quote all pattern arguments that contain spaces or other characters special to the shell. Patterns may not contain embedded newline char- acters. [Tru64 UNIX] See the grep(1) reference page for information about creating patterns. In an expression such as [a-z], the dash means "through" according to the current collating sequence. The collating sequence is determined by the value of the LC_COLLATE environment variable. Unless the -s option is specified, csplit writes one line, containing the file size in bytes, for each file created to standard output. EXIT STATUS
The following exit values are returned: Successful completion. An error occurred. Unless the -k option is used, any files created before the error was detected will be removed. EXAMPLES
To split the text of a book into a separate file for each chapter, enter: csplit book "/^Chapter *[0-9]/" {9} This creates files named xx00, xx01, xx02,...,xx09, which contain individual chapters of the file book. Each chapter begins with a line that contains only the word Chapter and the chapter number. The file xx00 contains the front matter that comes before the first chapter. The {9} after the pattern causes csplit to create up to 9 individual chapters; the remainder are placed in xx10. To specify the prefix for the created file names, enter: csplit -f chap book "/^Chapter *[0-9]/" {9} This splits book into files named chap00, chap01,...chap9, chap10. ENVIRONMENT VARIABLES
The following environment variables affect the execution of csplit: Provides a default value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization variables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value, overrides the values of all the other internationalization variables. Determines the locale for the behavior of ranges, equivalence classes, and multicharacter collating elements within regular expressions. Determines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments and input files) and the behav- ior of character classes within regular expressions. Determines the locale for the format and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of LC_MESSAGES. SEE ALSO
Commands: ed(1), grep(1), sed(1), sh(1b), sh(1p), split(1) Files: regexp(3) Standards: standards(5) csplit(1)
All times are GMT -4. The time now is 03:22 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy