How to make a loop to read the input from a file part by part?
Hi All,
We've a VDI infrastructure in AWS (AWS workspaces) and we're planning to automate the process of provisioning workspaces. Instead of going to GUI console, and launching workspaces by selecting individual users is little time consuming. Thus, I want to create them in bunches from AWS CLI (installed on centos 7). To achieve this I've created below shell script to launch the workspaces from CLI with least efforts. Please note, the ws-userlist.txt has a list of 60 users, one word per line.
Now, here, there is a limitation of above workspace creation command. It can only build maximum 25 workspaces at one execution. I wonder if there any way to make the loop read the ws-userlist.txt in such a way that it read the first 25 users and take it as input for the command and execute it. once the it get executed, loop should go back to the input file, and read next set of 25 users and execute the command. Once it get executed, loop again go back to input file, and read the last 10 usernames and run the command.
Please note, username count could vary.Sometime I may have a list of 30, sometimes it could be 55.
I've basic knowledge of shell scripting. Need your expert help on this.
Thanks in advance.
Hi,
I justs started learning Unix on my own.
I have a question:
What command can I use when I need to read in part of the file into another file?
I remember I saw it somewhere but I don't know what it is.
Thanks (3 Replies)
Hi there,
I am lil confused with the following issue.
I have a File, which has the following header: IMSHRATE_043008_101016
a sample detailed record is :9820101 A982005000CAVG030108000000000000010169000MAR 2008
9820102 MAR 2008 D030108
... (1 Reply)
Ok, I am brand new to UNIX and I am trying to learn a cross between basic script and database use. I had got some ideas off the net on simple ideas for learning UNIX. I am working on creating a simple phone book program that allows myself to enter our employees from work into a phone book text... (0 Replies)
For a field format such as AAL1001_MD82, how do I select(and use in if statement) only the last four elements( in this case MD82) or the first three elements (in this case AAL)?
For instance, how do I do the following - if first three elements of $x == yyy, then ... (5 Replies)
Hi Guys
I need to have a shell script which reads a log file and insert a part of each line into the database. Some sample lines in the file are as below.
20091112091359 MED_RQACK : user_data=60173054304,100232120,20091112091359,;ask_status=0;ask_reason=OK;msg_id=20091112091319... (5 Replies)
Hi,
I have 80 large files, from which I want to get a specific value to run a Bash script. Firstly, I want to get the part of a file which contains this:
Name =A
xxxxxx
yyyyyy
zzzzzz
aaaaaa
bbbbbb
Value = 57
This is necessary because in a file there are written more lines which... (6 Replies)
I have files named with different prefixes. From each I want to extract the first line containing a specific string, and then print that line along with the prefix.
I've tried to do this with a while loop, but instead of printing the prefix I print the first line of the file twice.
Files:... (3 Replies)
Hello
let me explain senario.
there is a file which name is config and it store main software variable:
file main.conf contents:
update="1"
log_login="0"
allow_ports=""
deny_ports="21,22,23"
and there is a file which name is ports.txt
file ports.txt contents:
25,26,27
i... (3 Replies)
I'm working on Aix 6.1 and using ksh shell.
The below works fine on Linux bash or ksh shell .
while IFS= read -r dirpath ; do
echo "Hi"
done <<<"$var"
However, any such while loop that reads the input from file or variable using <<< fails on Aix system with the below error:
Below... (2 Replies)
Discussion started by: mohtashims
2 Replies
LEARN ABOUT DEBIAN
anyevent::i3
AnyEvent::I3(3pm) User Contributed Perl Documentation AnyEvent::I3(3pm)NAME
AnyEvent::I3 - communicate with the i3 window manager
VERSION
Version 0.08
SYNOPSIS
This module connects to the i3 window manager using the UNIX socket based IPC interface it provides (if enabled in the configuration file).
You can then subscribe to events or send messages and receive their replies.
use AnyEvent::I3 qw(:all);
my $i3 = i3();
$i3->connect->recv or die "Error connecting";
say "Connected to i3";
my $workspaces = $i3->message(TYPE_GET_WORKSPACES)->recv;
say "Currently, you use " . @{$workspaces} . " workspaces";
...or, using the sugar methods:
use AnyEvent::I3;
my $workspaces = i3->get_workspaces->recv;
say "Currently, you use " . @{$workspaces} . " workspaces";
EXPORT
$i3 = i3([ $path ]);
Creates a new "AnyEvent::I3" object and returns it.
"path" is an optional path of the UNIX socket to connect to. It is strongly advised to NOT specify this unless you're absolutely sure you
need it. "AnyEvent::I3" will automatically figure it out by querying the running i3 instance on the current DISPLAY which is almost always
what you want.
SUBROUTINES /METHODS
$i3 = AnyEvent::I3->new([ $path ])
Creates a new "AnyEvent::I3" object and returns it.
"path" is an optional path of the UNIX socket to connect to. It is strongly advised to NOT specify this unless you're absolutely sure you
need it. "AnyEvent::I3" will automatically figure it out by querying the running i3 instance on the current DISPLAY which is almost always
what you want.
$i3->connect
Establishes the connection to i3. Returns an "AnyEvent::CondVar" which will be triggered with a boolean (true if the connection was
established) as soon as the connection has been established.
if ($i3->connect->recv) {
say "Connected to i3";
}
$i3->subscribe(\%callbacks)
Subscribes to the given event types. This function awaits a hashref with the key being the name of the event and the value being a
callback.
my %callbacks = (
workspace => sub { say "Workspaces changed" }
);
if ($i3->subscribe(\%callbacks)->recv->{success})
say "Successfully subscribed";
}
The special callback with name "_error" is called when the connection to i3 is killed (because of a crash, exit or restart of i3 most
likely). You can use it to print an appropriate message and exit cleanly or to try to reconnect.
my %callbacks = (
_error => sub {
my ($msg) = @_;
say "I am sorry. I am so sorry: $msg";
exit 1;
}
);
$i3->subscribe(\%callbacks)->recv;
$i3->message($type, $content)
Sends a message of the specified "type" to i3, possibly containing the data structure "content" (or "content", encoded as utf8, if
"content" is a scalar), if specified.
my $reply = $i3->message(TYPE_COMMAND, "reload")->recv;
if ($reply->{success}) {
say "Configuration successfully reloaded";
}
SUGAR METHODS
These methods intend to make your scripts as beautiful as possible. All of them automatically establish a connection to i3 blockingly (if
it does not already exist).
get_workspaces
Gets the current workspaces from i3.
my $ws = i3->get_workspaces->recv;
say Dumper($ws);
get_outputs
Gets the current outputs from i3.
my $outs = i3->get_outputs->recv;
say Dumper($outs);
get_tree
Gets the layout tree from i3 (>= v4.0).
my $tree = i3->get_tree->recv;
say Dumper($tree);
get_marks
Gets all the window identifier marks from i3 (>= v4.1).
my $marks = i3->get_marks->recv;
say Dumper($tree);
command($content)
Makes i3 execute the given command
my $reply = i3->command("reload")->recv;
die "command failed" unless $reply->{success};
AUTHOR
Michael Stapelberg, "<michael at stapelberg.de>"
BUGS
Please report any bugs or feature requests to "bug-anyevent-i3 at rt.cpan.org", or through the web interface at
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=AnyEvent-I3 <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=AnyEvent-I3>. I will be
notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc AnyEvent::I3
You can also look for information at:
o RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=AnyEvent-I3 <http://rt.cpan.org/NoAuth/Bugs.html?Dist=AnyEvent-I3>
o The i3 window manager website
<http://i3.zekjur.net/>
ACKNOWLEDGEMENTS LICENSE AND COPYRIGHT
Copyright 2010 Michael Stapelberg.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as
published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
perl v5.14.2 2012-12-15 AnyEvent::I3(3pm)