I've never been a fan of echo | some-command when it's not needed as it is very inefficient. This is a simple, yet hard coded approach that generates output exactly as you indicated:
Code:
nrows=${1:-7}
for col in " " A B " " C D E " " F G # print header row
do
printf "%s" "$col"
done
printf "\n"
for $(( row=1; row < $nrows; row++ )) # print rows
do
printf "%s\n" "$row"
done
EDIT: The first loop could be omitted and a single printf used. Initially I embedded the loop inside of the row loop, but realised that the output you wanted didn't show the 'seats' on any row but the header, and I just moved the code up without thinking about the fact that the loop was then not needed.
The code below is a bit more complex, but much more flexible assuming that the different aircraft configurations might need to be supported. The looping is also different to illustrate how you might fill in any kind of status for each seat (assigned, open, frequent-flier only, ,etc):
Code:
nrows=${1:-7}
ncols=${2:-7}
typeset -a layout
case $ncols in
2) layout=(A " " B );;
3) layout=(A " " C D);;
4) layout=(A B " " C D);;
6) layout=(A B C " " D E F);;
7) layout=(A B " " C D E " " F G);
9) layout=(A B " " C D E F G " " H I);;
*) echo "invalid layout size entered"
exit 1
;;
esac
for row in " " $( seq 1 $nrows )
do
printf "%s " "$row"
for (( col=0; $col < ${#layout[@]}; col++ ))
do
printf "%s" "${layout[$col]}"
done
printf "\n"
done
exit
The number of rows and number of seats/row are entered on the command line; output from this script is like this:
Code:
>>>show_seats 6 7
AB CDE FG
1 AB CDE FG
2 AB CDE FG
3 AB CDE FG
4 AB CDE FG
5 AB CDE FG
6 AB CDE FG
Last edited by agama; 11-06-2011 at 01:40 PM..
Reason: clarification
I need to create a large matrix so that I can feed that matrix to MATLAB for processing. The problem is creating that matrix because my data is completely scattered around files.
1. I have one big dictionary file which has words in newlines, like
apple
orange
pineapple
2. I have some... (3 Replies)
Hi all,
Is there a way to convert full data matrix to linearised left data matrix?
e.g full data matrix
Bh1 Bh2 Bh3 Bh4 Bh5 Bh6 Bh7
Bh1 0 0.241058 0.236129 0.244397 0.237479 0.240767 0.245245
Bh2 0.241058 0 0.240594 0.241931 0.241975 ... (8 Replies)
Hi all, I'm a newbie in shell scripting and currently I'm trying to create a matrix using bash. The Output will look like this
AB CDE FG
1
2
3
4
5
6
7
I'm stuck on the ABCDEFG display.
printFlightSeats()
{
rows=7
columns=7
for ((i=0;i<=$rows;i++))
do (0 Replies)
I'm trying to create a Matrix using bash. The expected output is
.AB CDE FG
1
2
3
4
5
6
7
I'm a newbie in shell language, really appreciate if there is anyone who can guide me with this.
Double post again, continued here (0 Replies)
Dear all,
I'm new in perl scripting and I'm trying to creating a matrix from a 3 column file sorting data in a particular manner. In the final matrix I need to have the first column "IDs" on the header of the columns and the second column values on the header of each row. And the value fo the... (2 Replies)
Hello,
Greetings!
please help me produce the following solution. I need
to produce one big matrix file from several files in different levels.
If it helps, the index folder provides information on chromosome index and
the data folder provides information on values for chromosomes.
there... (8 Replies)
I want to create a Matrix template that uses vector. For the time being I want to create the following operations. I need setting the implementation for the operations.
Maybe I do not have to use a pointer either.
template <class T>
class Matrix {
protected:
typedef vector<T>* ... (2 Replies)
Hi
I do have a tab delimited file with 2 columns, which is stratified based on the first column. There are 1000's of values in the file.
Below is an example of the input file
1 AB
1 AC
1 CC
1 DD
2 AB
2 CC
2 AC
2 AB
3 CF
3 CC
3 DD
4 AC
4 CC
4 AD (5 Replies)
Discussion started by: Kanja
5 Replies
LEARN ABOUT CENTOS
tk::table
Table(3) User Contributed Perl Documentation Table(3)NAME
Tk::Table - Scrollable 2 dimensional table of Tk widgets
SYNOPSIS
use Tk::Table;
$table = $parent->Table(-rows => number,
-columns => number,
-scrollbars => anchor,
-fixedrows => number,
-fixedcolumns => number,
-takefocus => boolean);
$widget = $table->Button(...);
$old = $table->put($row,$col,$widget);
$old = $table->put($row,$col,"Text"); # simple Label
$widget = $table->get($row,$col);
$cols = $table->totalColumns;
$rows = $table->totalRows;
$table->see($widget);
$table->see($row,$col);
($row,$col) = $table->Posn($widget);
DESCRIPTION
Tk::Table is an all-perl widget/geometry manager which allows a two dimensional table of arbitary perl/Tk widgets to be displayed.
Entries in the Table are simply ordinary perl/Tk widgets. They should be created with the Table as their parent. Widgets are positioned in
the table using:
$table->put($row,$col,$widget)
If $widget is not a reference it is treated as a string, and a Lable widget is created with the string as its text.
All the widgets in each column are set to the same width - the requested width of the widest widget in the column. Likewise, all the
widgets in each row are set to the same height - the requested height of the tallest widget in the column.
A number of rows and/or columns can be marked as 'fixed' - and so can serve as 'headings' for the remainder the rows which are scrollable.
The requested size of the table as a whole is such that the number of rows specified by -rows (default 10), and number of columns specified
by -columns (default 10) can be displayed.
If the Table is told it can take the keyboard focus then cursor and scroll keys scroll the displayed widgets.
The Table will create and manage its own scrollbars if requested via -scrollbars.
The table can be emptied using
$table->clear
the widgets which were in the table are destroyed.
The Tk::Table widget is derived from a Tk::Frame, so inherits all its configure options.
BUGS / Snags / Possible enhancements
o Very large Tables consume a lot of X windows.
o No equivalent of pack's -anchor/-pad etc. options
SEE ALSO
Tk::grid, Tk::HList, Tk::TableMatrix, Tk::MListbox, Tk::Columns
perl v5.16.3 2014-06-10 Table(3)