Visit Our UNIX and Linux User Community


Delete words greater than a specific length


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Delete words greater than a specific length
# 1  
Old 07-21-2011
Delete words greater than a specific length

HI All,

I have a file with contents like this:

Code:
apple
computer
terminal
applecomputernetworkrouterterminalrouter
network
router
applecomputernetworkrouterterminalrouter

I want to remove all lines with length greater than "18 alphabets". Hence, my output should be:

Code:
apple
computer
terminal
network
router

This is what I have tried:

Code:
awk 'length($0)>=18 filename'

I could find the length of the string but could not delete the lines.

I am using Linux with BASH.
# 2  
Old 07-21-2011
Those are not restricted to alpha characters though ...

Code:
grep -v '.\{19\}' infile

Code:
sed '/.\{19\}/d' infile

With awk*:

Code:
awk 'length <= 18' infile

* Using the length function without arguments is not portable.

Last edited by radoulov; 07-21-2011 at 07:45 AM..
This User Gave Thanks to radoulov For This Post:

Previous Thread | Next Thread
Test Your Knowledge in Computers #990
Difficulty: Medium
UNIX System V is one of the first commercial versions of the Unix operating system and was originally developed by AT&T and first released in 1981.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Greater than specific number

please let me know how to construct if then else by comparing two numbers if it is greater than 10000. I need to do some specific task executed. can you help me out in shell scripting plz. (6 Replies)
Discussion started by: ramkumar15
6 Replies

2. Shell Programming and Scripting

Need to delete the log files when the disk used% greater than 85% using df -k

Hi, I am new to Shell scripts. I have an urgent requirement to find the disk space using "df -k". from that output,I need to check the used% whether greater than 85%. if it is greater than 85% then need to delete my log files. It is very urgent please some one help me. Thanks in Advance... (2 Replies)
Discussion started by: Anandbarnabas
2 Replies

3. UNIX for Dummies Questions & Answers

List of Files which are Greater then a specific date

A newbie question... I need to get a list of the Files and folders which are greater then a specific date. I want write the output to a Text file. What I know ls -lrt gives me list of all the files ordered by date. Also ls > fileName will write the results to a text file. Please help (6 Replies)
Discussion started by: rkaif
6 Replies

4. UNIX for Dummies Questions & Answers

Sorting words based on length

i need to write a bash script that recive a list of varuables kaka pele ronaldo beckham zidane messi rivaldo gerrard platini i need the program to print the longest word of the list. word in the output appears on a separate line and word order in the output is in the order Llachsicografi costs.... (1 Reply)
Discussion started by: yairpg
1 Replies

5. Shell Programming and Scripting

search column and delete row if greater than value

Hi, as the title states i need to find a way to search a column for values great than 1000, and if it is, then delete that row. An example 1 7.021 6.967 116.019 4 U 6.980E+07 0.000E+00 e 0 0 0 0 2 8.292 7.908 118.063 3 U 1.440E+07 0.000E+00 e 0 821 814 ... (3 Replies)
Discussion started by: olifu02
3 Replies

6. Shell Programming and Scripting

SED - delete words between two possible words

Hi all, I want to make an script using sed that removes everything between 'begin' (including the line that has it) and 'end1' or 'end2', not removing this line. Let me paste an 2 examples: anything before any string begin few lines of content end1 anything after anything before any... (4 Replies)
Discussion started by: meuser
4 Replies

7. IP Networking

Packet Length greater than MTU

Hello, I would appreciate some help with the following. We have 3 SUN X4450 servers, each of these servers talk to each other, one is an application server the other is a database server and the third is a web server. We also have numerous workstation and ACD connections. When I snoop the... (1 Reply)
Discussion started by: giles.cardew
1 Replies

8. Shell Programming and Scripting

Help with extracting words from fixed length files

I am very new to scripting and need to write a script that will extract the account number from a line that begins with HDR. For example, the file is as follows HDR2010072600300405505100726 00300405505 LBJ FREEWAY DALLAS TELEGRAPH ... (9 Replies)
Discussion started by: bds052189
9 Replies

9. UNIX for Dummies Questions & Answers

length of data greater than 11

I need to get all the rows in a file, for which length of field at column 6 is greater than 11. I tried awk '{ if ($#1 >11) print $1}' filename But Iam getting some errors I tried different combinations like awk '{ if (${#$1} >11) print $1}' filename awk '{ if (${#1} >11) print... (2 Replies)
Discussion started by: thanuman
2 Replies

10. Shell Programming and Scripting

Deleting specific files greater then 90 days

I have a directory that contains a number of history files for a process. Every file starts with the string "EVACK". FOr example EVACK0101.000001 EVACK0102.095940 EVACKmmdd.hhmiss I want to erase in the specific directory ONLY(no sub-directories) all EVACK files older then 90 days. I... (2 Replies)
Discussion started by: beilstwh
2 Replies

Featured Tech Videos