Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Last n characters of column as new column Post 303045469 by MadeInGermany on Thursday 26th of March 2020 10:07:49 AM
Old 03-26-2020
The previous post is only for GNU sed that is compiled with a recent glibc that has got the \S \s from perl (PCRE).
If you want portability, use the original! Most commercial Unixes have got perl.
Code:
perl -pe 's/^(\S*(\S{2})\s*).*/\1\2/' Input_file

This works, but in warning mode it says
Code:
perl -wpe 's/^(\S*(\S{2})\s*).*/\1\2/' Input_file
\1 better written as $1 at -e line 1.
\2 better written as $2 at -e line 1.
9780027123227-PK        PK
9780060094584-PK        PK
9780061130243-PK        PK

Since perl 5.x it issues this warning. Fix:
Code:
perl -wpe 's/^(\S*(\S{2})\s*).*/$1$2/' Input_file
9780027123227-PK        PK
9780060094584-PK        PK
9780061130243-PK        PK

$n is like a variable that you can write ${n} (just like a variable in the shell).
Demo:
Code:
perl -pe 's/^(\S*(\S{2})\s*).*/${1}0${2}/' Input_file

This User Gave Thanks to MadeInGermany For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Changing one column of delimited file column to fixed width column

Hi, Iam new to unix. I have one input file . Input file : ID1~Name1~Place1 ID2~Name2~Place2 ID3~Name3~Place3 I need output such that only first column should change to fixed width column of 15 characters of length. Output File: ID1<<12 spaces>>Name1~Place1 ID2<<12... (5 Replies)
Discussion started by: manneni prakash
5 Replies

2. Shell Programming and Scripting

Match column 3 in file1 to column 1 in file 2 and replace with column 2 from file2

Match column 3 in file1 to column 1 in file 2 and replace with column 2 from file2 file 1 sample SNDK 80004C101 AT XLNX 983919101 BB NETL 64118B100 BS AMD 007903107 CC KLAC 482480100 DC TER 880770102 KATS ATHR 04743P108 KATS... (7 Replies)
Discussion started by: rydz00
7 Replies

3. UNIX for Dummies Questions & Answers

count different characters from one column

Hi everyone, and thanks after all I'm a biologist and i have to extract information from one text. The text is something like this 1023 A A 56 0 cc...,,,,..gg..Cc.c,,c..CC..,, 1024 T T 86 0 ..,,,..aaAA..,,aAA,,a,,A,,a 1025 G G 125 0 ... (5 Replies)
Discussion started by: beajorrin
5 Replies

4. Shell Programming and Scripting

Fetch particular characters from a column

Hi I wanted to fetch particular characters from a column.I have a file having columns separated by pipe operator. The contents of the file are Task | Task started on a component | B678C56D-96DA-4FFC-B40E-9A032A2EB12E-0000004 | service.adapter:UCF Version Creator ... (2 Replies)
Discussion started by: Prachi Gupta
2 Replies

5. Shell Programming and Scripting

How to print the first 7 characters of each column

Hello all, I have a data like this: X:04252 X:05524 X:04176 X:05509 X:05524 X:04674- X:1662912 X:10181 X:16491 X:05506 X:05216- X:05488 X:46872 X:08471 X:04834 X:30170 The except result is like this: X:04252 X:05524 X:04176 X:05509 X:05524 X:04674 X:16629 X:10181... (3 Replies)
Discussion started by: yhkoo
3 Replies

6. Shell Programming and Scripting

Difference of the same column when two other column matches and one column differs less than 1 hour

This is my input file : # cat list 20130430121600, cucm, location,76,2 20130430121600,cucm1,location1,76,4 20130430122000,cucm,location,80,8 20130430122000,cucm1,location1,90,8 20130430140000,cucm1,location1,87,11 20130430140000, cucm,location,67,9 This is the required output ... (1 Reply)
Discussion started by: Lakshmikumari
1 Replies

7. Shell Programming and Scripting

Delete last characters in each column

I need to delete the last 11 characters from each number and they are all in the same line (each is in a different column): -6.89080901827020800000 3.49348891708562325136 1.47988367839905286876 -2.29707635413510400000 -3.49342364708562325136 -4.43758473239905286876 -2.29707635413510400000... (14 Replies)
Discussion started by: rogeriog.em
14 Replies

8. Shell Programming and Scripting

Remove the first character from the fourth column only if the column has four characters

I have a file as follows ATOM 5181 N AMET K 406 12.440 6.552 25.691 0.50 7.37 N ATOM 5182 CA AMET K 406 13.685 5.798 25.578 0.50 5.87 C ATOM 5183 C AMET K 406 14.045 5.179 26.909 0.50 5.07 C ATOM 5184 O MET K... (14 Replies)
Discussion started by: hasanabdulla
14 Replies

9. Shell Programming and Scripting

awk Print New Column For Every Two Lines and Match On Multiple Column Values to print another column

Hi, My input files is like this axis1 0 1 10 axis2 0 1 5 axis1 1 2 -4 axis2 2 3 -3 axis1 3 4 5 axis2 3 4 -1 axis1 4 5 -6 axis2 4 5 1 Now, these are my following tasks 1. Print a first column for every two rows that has the same value followed by a string. 2. Match on the... (3 Replies)
Discussion started by: jacobs.smith
3 Replies

10. Shell Programming and Scripting

Group by a column and first 2 characters of another

Hello all, I want to consolidate my data group by cities into 4 rolled up code categories (first 2 characters of 2nd col), namely PR, GR, TY and others. CHICAGO PR1 CHICAGO GR3 CHICAGO GR4 CHICAGO HT5 CHICAGO HT6 CHICAGO TY5 HOUSTON PR3 HOUSTON PR9 HOUSTON TY4 HOUSTON HJ5... (1 Reply)
Discussion started by: jalaj841
1 Replies
Alzabo::Column(3pm)					User Contributed Perl Documentation				       Alzabo::Column(3pm)

NAME
Alzabo::Column - Column objects SYNOPSIS
use Alzabo::Column; foreach my $c ($table->columns) { print $c->name; } DESCRIPTION
This object represents a column. It holds data specific to a column. METHODS
table Returns the table object to which this column belongs. name Returns the column's name as a string. nullable Returns a boolean value indicating whether or not NULLs are allowed in this column. attributes A column's attributes are strings describing the column (for example, valid attributes in MySQL are 'UNSIGNED' or 'ZEROFILL'. This method returns a list of strings of such strings. has_attribute This method can be used to test whether or not a column has a particular attribute. By default, the check is case-insensitive. It takes the following parameters: * attribute => $attribute * case_sensitive => 0 or 1 (defaults to 0) It returns a boolean value indicating whether or not the column has this particular attribute. type Returns the column's type as a string. sequenced The meaning of a sequenced column varies from one RDBMS to another. In those with sequences, it means that a sequence is created and that values for this column will be drawn from it for inserts into this table. In databases without sequences, the nearest analog for a sequence is used (in MySQL the column is given the AUTO_INCREMENT attribute, in Sybase the identity attribute). In general, this only has meaning for the primary key column of a table with a single column primary key. Setting the column as sequenced means its value never has to be provided to when calling "Alzabo::Runtime::Table->insert". Returns a boolean value indicating whether or not this column is sequenced. default Returns the default value of the column as a string, or undef if there is no default. default_is_raw Returns true if the default is intended to be provided to the DBMS as-is, without quoting, fore example "NOW()" or "current_timestamp". length Returns the length attribute of the column, or undef if there is none. precision Returns the precision attribute of the column, or undef if there is none. is_primary_key Returns a boolean value indicating whether or not this column is part of its table's primary key. is_numeric Returns a boolean value indicating whether the column is a numeric type column. is_integer Returns a boolean value indicating whether the column is a numeric type column. is_floating_point Returns a boolean value indicating whether the column is a numeric type column. is_character Returns a boolean value indicating whether the column is a character type column. This is true only for any columns which are defined to hold text data, regardless of size. is_date Returns a boolean value indicating whether the column is a date type column. is_datetime Returns a boolean value indicating whether the column is a datetime type column. is_time Returns a boolean value indicating whether the column is a time type column. is_time_interval Returns a boolean value indicating whether the column is a time interval type column. is_blob Returns a boolean value indicating whether the column is a blob column. This is true for any columns defined to hold binary data, regardless of size. generic_type This methods returns one of the following strings: integer floating_point character date datetime time blob unknown definition The definition object is very rarely of interest. Use the "type()" method if you are only interested in the column's type. This methods returns the "Alzabo::ColumnDefinition" object which holds this column's type information. comment Returns the comment associated with the column object, if any. AUTHOR
Dave Rolsky, <autarch@urth.org> perl v5.8.8 2007-12-23 Alzabo::Column(3pm)
All times are GMT -4. The time now is 03:46 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy