Sponsored Content
Full Discussion: Sorting indented text files
Top Forums Shell Programming and Scripting Sorting indented text files Post 302921001 by RudiC on Tuesday 14th of October 2014 06:31:31 AM
Old 10-14-2014
This will work on your certainly simplified sample file. Not sure it will on real data...:
Code:
awk '/!/{next} !/^ +/ {S=$0; print; next} {$0=S " " $0} 1' file | sort | awk 'NF>2 {$1=$2=""}1'
command a
command b
command c
command d
interface a
  podcommand a
  podcommand b
interface b
  podcommand a
  podcommand b

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sorting rules on a text section

Hi all My text file looks like this: start doc ... (certain number of records) REC3|Emma|info| REC3|Lukas|info| REC3|Arthur|info| ... (certain number of records) end doc start doc ... (certain number of records)... (4 Replies)
Discussion started by: Indalecio
4 Replies

2. Shell Programming and Scripting

awk error in sorting text file

Hi Having a file as below file.txt error Server Network Name Dept Date Time =========================================================================================================================== 0 ServerA LAN1 AAA IT01 04/30/2008 09:16:26 0 ... (3 Replies)
Discussion started by: karthikn7974
3 Replies

3. UNIX for Dummies Questions & Answers

sorting files with find command before sending to text file

i need help with my script.... i am suppose to grab files within a certain date range now i have done that already using the touch and find command (found them in other threads) touch -d "$date_start" ./tmp1 touch -d "$date_end" ./tmp2 find "$data_location" -maxdepth 1 -newer ./tmp1 !... (6 Replies)
Discussion started by: deking
6 Replies

4. Shell Programming and Scripting

Sorting a text file

In unix how to sort in reverse order based on second field in a text file. $ cat data1 David:501 Albie:503 Shaun:502 The expected output: Albie:503 Shaun:502 David:501 Please help :) (4 Replies)
Discussion started by: jon2ryhme
4 Replies

5. Shell Programming and Scripting

Group on the basis of common text in the square bracket and sorting

File A 99 >ac >ss >juk 70 >acb >defa 90 >ca 100 >aa >abc >bca 85 >cde 81 >ghi >ghij 87 >def >fgh <ijk 89 >fck >ghij >kill >aa The given output shud be 100 >aa >abc >bca 87 >def >fgh <ijk 89 >fck >ghij >kill >aa (2 Replies)
Discussion started by: cdfd123
2 Replies

6. Shell Programming and Scripting

i need help in sorting two files

i have file a 123 234 456 567 678 and file b 123|xxx|hhh|ppp or zzz 234|rrr|ttt|xxx 432|ttt|mmm|nnn 678|cft|byt|mop i want to compare file a to file b such that when each of the lines in file a can be found in file b column1 and also xxx or hhh or ppp or zzz can be... (12 Replies)
Discussion started by: blackzinga80
12 Replies

7. Shell Programming and Scripting

sorting based on a specified column in a text file

I have a tab delimited file with 5 columns 79 A B 20.2340 6.1488 8.5086 1.3838 87 A B 0.1310 0.0382 0.0054 0.1413 88 A B 46.1651 99.0000 21.8107 0.2203 89 A B 0.1400 0.1132 0.0151 0.1334 114 A B 0.1088 0.0522 0.0057 0.1083 115 A B... (2 Replies)
Discussion started by: Lucky Ali
2 Replies

8. UNIX Desktop Questions & Answers

Problem in sorting a text file

Hi; I have a text file like this: 1 10 11 2 3 4 M X Y When I sort it numerically using sort -n, it looks like this: Y X M 1 2 3 4 10 (3 Replies)
Discussion started by: a_bahreini
3 Replies

9. Shell Programming and Scripting

Complex data sorting in excel files or text files

Dear all, I have a complex data file shown below,,,,, A_ABCD_13208 0 0 4.16735 141044 902449 1293900 168919 C_ABCD_13208 0 0 4.16735 141044 902449 1293900 168919 A_ABCDEF715 52410.9 18598.2 10611 10754.7 122535 252426 36631.4 C_DBCDI_1353 0... (19 Replies)
Discussion started by: AAWT
19 Replies

10. Shell Programming and Scripting

Sorting a text file with respect to Function/Keyword

Hello Experts, I am truly a beginner in shell and perl . Need an urgent help with sorting a file. please help. wouldn't mind whether in perl or shell script. Here are the details. ------------------------------------------------------ Input Text file EX:... (9 Replies)
Discussion started by: pradyumnajpn10
9 Replies
ntextIndent(n)					       ntext Indentation for the Text Widget					    ntextIndent(n)

__________________________________________________________________________________________________________________________________________________

NAME
ntextIndent - ntext Indentation for the Text Widget SYNOPSIS
package require Tcl 8.5 package require Tk 8.5 package require ntext ?0.81? _________________________________________________________________ DESCRIPTION
The ntext package provides a binding tag named Ntext for use by text widgets in place of the default Text binding tag. Tk's text widget may be configured to wrap lines of text that are longer than the width of the text area, a feature that is familiar from text editors and word processors. A complete line of text (delimited by newlines, or by the beginning or end of the document) is called a "logical line". When a logical line is wrapped onto more than one line of the display area, these fragments of the logical line are called "display lines". If a logical line begins with whitespace, then wrapped display lines begin further to the left than the first display line, which can make the text layout untidy and difficult to read. The Ntext binding tag provides facilities so that a text widget in -wrap word mode will automatically indent display lines (other than the first) to match the initial whitespace of the first display line. This indentation is available to text widgets only in -wrap word mode. CONFIGURATION OPTIONS
The behavior of Ntext may be configured application-wide by setting the values of a number of namespace variables: ::ntext::classicWrap o 0 - selects Ntext behaviour, i.e. display lines are indented to match the initial whitespace of the first display line of a logical line. No other action is required if this option, and the text widget's -wrap option, are set before any text is entered in the widget, and if text is entered and edited only by the mouse and keyboard. If, instead, text is manipulated by the script, or if the text widget's -wrap option or the value of ::ntext::classicWrap are changed while the widget holds text, then calls to ntext functions are needed to alter the indentation. See the section INDENTING DISPLAY LINES for detailed instructions. o 1 - (default value) selects classic Text behaviour, i.e. no indentation. Advanced Use ::ntext::newWrapRegexp o the value is a regexp pattern that determines the character of a logical line to which display lines other than the first will be aligned. The default value, [^[:space:]], ensures alignment with the first non-whitespace character. INDENTING DISPLAY LINES
To use Ntext 's display line indentation: [1] Set the variable ::ntext::classicWrap to 0 (default value is 1). This enables bindings that will preserve indentation whenever the user modifies the widget contents using the keyboard and mouse. If the widget already holds text, call ::ntext::wrapIndent to ini- tialise indentation. Further instructions apply if the program changes the widget's contents, wrap configuration, or indent configuration. [2] The program can change the text contents, e.g. by the .text insert command. Such a change does not trigger a window binding, so the program should explicitly call function ::ntext::wrapIndent after inserting text. [3] Auto-indentation occurs only if the widget is in -wrap word mode. If the program changes to or from -wrap word when the widget is not empty, it should call ::ntext::wrapIndent to format the widget's text. [4] If indentation is used, and then switched off by setting ::ntext::classicWrap to 1, call ::ntext::wrapIndent to remove indentation. FUNCTIONS
::ntext::wrapIndent textWidget ?index1? ?index2? o Adjust the indentation of a text widget. Different cases are discussed below. ::ntext::wrapIndent textWidget o Adjust the indentation of all the text in text widget textWidget. ::ntext::wrapIndent textWidget index1 o Adjust the indentation of a single logical line of a text widget - the line of textWidget that contains the index index1. ::ntext::wrapIndent textWidget index1 index2 o Adjust the indentation of a range of logical lines of a text widget - the lines of textWidget that contain indices index1 to index2. Usage o ::ntext::wrapIndent should be called only if the script changes the widget's contents or display properties. If the contents of the widget have been modified by the keyboard or mouse, it is not necessary for the script to call ::ntext::wrapIndent because the appropriate calls are made automatically by the Ntext bindings. o The script should normally call ::ntext::wrapIndent if, for example, the script changes one of the following when the widget is not empty: the value of ::ntext::classicWrap, or the widget's -wrap status, or the widget's tab spacing, or the font size, or the wid- get's contents. o A call of the form ::ntext::wrapIndent textWidget will always suffice, but if changes are needed only to certain lines, it is more efficient to specify those lines with the optional arguments ?index1?, ?index2?. o If the widget is in -word wrap mode, and if ::ntext::classicWrap is set to 0, ::ntext::wrapIndent will apply indentation to the log- ical lines within the range specified by the function's arguments. o In other cases, i.e. if the widget is in -word char or -word none mode, or if ::ntext::classicWrap is set to 1, ::ntext::wrapIndent will remove the indentation of the logical lines within the range specified by the function's arguments. EXAMPLES
To switch on Ntext 's indentation and use it in widget .t: package require ntext set ::ntext::classicWrap 0 text .t -wrap word bindtags .t {.t Ntext . all} To decide later to switch off Ntext 's indentation: set ::ntext::classicWrap 1 ::ntext::wrapIndent .t To decide later to switch Ntext 's indentation back on: set ::ntext::classicWrap 0 ::ntext::wrapIndent .t 1.0 end To inject some text into the widget: set foo [.t index end] ::ntext::wrapIndent .t $foo end To switch to -wrap char mode: ::ntext::wrapIndent .t SEE ALSO
bindtags, ntext, re_syntax, regexp, text KEYWORDS
bindtags, re_syntax, regexp, text ntext 0.81 ntextIndent(n)
All times are GMT -4. The time now is 10:11 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy