Ubuntu :: Searching WITHIN Doc - Xls - Ppt Files - Grep Is Unable To Locate Text INSIDE File Types
Sep 1, 2011
I am on Ubuntu 11.04 and using Libre Office 3.3.2 to compose new documents and am saving them using .doc, .ppt and .xls files. (due to having to share them with others who are on Windows systems)
I have a lot of doc files and I need to search for text INSIDE these files. I am perplexed with the fact that no search tool is able to search for text INSIDE these file types. "cat" can display them of course, but grep is not able to locate text INSIDE these file types. I even tried to save a .doc file as an .odt file, but no luck. The Applications>Accessories>Search for Files does not search INSIDE doc, xls or ppt with the option "Contains the text".
I checked the 'Run executable text files when they are opened' option in Nautilus preferences. I have noticed that files such as .sh and .bin launch by simply clicking on then (which is great). However I have also noticed that an ordinary .txt and .html file must not be marked as executable in order to launch it in Gedit and Firefox respectively via clicking. Otherwise you must right click and open with every time. What file types need to have execute permissions? What file types never need to have execute permissions?
I am looking for all the files that contain the text string 'moo.sql'. I ran the following:
find . -name '*.php' | grep -lir 'moo.sql' *
Unfortunately it seems to return non-php files in addition to php files. I thought the find portion of this would filter the file names so grep would only search php files.
Basically, I have a selection of .rdp shortcuts to various machines, but they are considered the file type "plain text document (text/plain)" so if I change it to open with to tsclient, all of that file type opens with tsclient. And if I change it to gedit, all the rdp files open with gedit. Is there a way to create a custom file type dependent on the extension rdp, or is there a way to set tsclient to open by extension rather than filetype?
I am a member of a group which has written a program whose source code is being held in a specific directory (~cs252/Assignments/basicAsst/project) and we want to go through and change the parameters for the function "sequentialInsert." My job is to find all occurances of the function call to "sequentialInsert" and to also list the files from where the code came from. Also, I have to be in the commandsAsst directory when I do this. I have tried grep and find combined together, and I am at a lost.
I have on my windows machine several hundred files that are a format of .nc .ncs for a CNC machine. I need to convert them to txt which is something as easy as opening in notepad and then saving as .txt but there are so many that this kind of action would take way too long.
The reason I am writing the linuxquestions is because I would feel more comfortable in loading a live CD and using some sort of terminal command to do this than I would to download one of the many "freeware" type programs I have found for windows (even more so since I have had a root kit before and had to start all the way over to get rid of it).
I need to know:
1. Is this possible to do with the terminal without super advanced knowledge.
2. Can one please point me in the right direction; something to read or an example
This is what I have right now. Well, I thought I knew sed, and apparently I don't... I tried writing this for someone else, and this has given me trouble, so since the user pretty much figured it out on his own, here it goes. Say VARR=1, so VARX and VARY contain the above text, appended by 1. What I am trying to do is replace the text "defaults.ctl.card 0" by VARX and "defaults.pcm.card 0" by VARY. The contents of FILE1 is the file being used to search for both text fields, and FILE2 is the output file. I tried using single quotes, double quotes, and a mixture of both, and no go whatsoever. So my question... What is the proper way of searching for text within a file and replacing with a variable?
I'm using Grsync and I want to be able to plug in any drive into my laptop and run rsync on it to back up all the user documents on there to another external hdd and to exclude everything else. Working on the principle that user documents don't always appear where we'd expect I want rsync to look through the whole drive and filter what it backs up by file type. I am only having partial success, however.
I am using the 'filter' option in the 'additional options' box. I am using the command Code: filter='merge /home/tim/Desktop/filter' and I am attaching the filter file I have written. (I have added the .txt extention to upload it).
I have tested this script on my home folder and here's what's going wrong. Rsync will copy the entire directory structure regardless of whether there are any files to be copied over in those directories. I am also getting only some file types getting included and not others. .odt and .ods files are copied, for instance, but not .doc or .rtf.
I have a list of words that I want to grep in many files to see which ones have it and which ones dont. in the text file I have all the words listed line by line, ex: list.txt:
check try this word1 word2 open space list ..
I want to grep each line one by one. like I want it to
grep "check" *.log grep "try this" *.log grep "word1" *.log .. etc how can I do this?
I'm trying to manipulate a large text file full of records (metadata - one complete record per line). I need to delete every line on which certain words appear - there are five different words, all pretty simple all-caps strings with occasional whitespace. I tried using grep -v, which worked a treat, but only string-by-string. Ideally I'd like to run this as grep -v -f, where the file targeted by the -f contains the strings I need to match in order to delete the lines they're in.
i.e. grep -v -f filecontainingSTRINGS.txt targetfile.txt > outputfile.txt
When I try this, however, I don't get any matches - or more specifically, no changes are made in the output file. It works fine if there's only one string in filecontainingSTRINGS, but it doesn't work if there's more than one (I'm using newline as the delimiter). (Also my machine doesn't recognise /usr/xpg4/bin/grep - no idea what that's all about!)
I need a loop that pulls out the user name into a variable and then pulls out the LastUpdate field into another variable so I can then perform a comparison against the last update field. Requirements are AIX tools including AWK, SED and Perl I am writing a script to check AIX users password expiration dates and if they are within the alerting period (ie. 7 days etc) it will email the user. I will release the full script into the public domain once completed. The text file I want to parse is formatted like:
What I am usinggrep -B 1 -A 2 "Installed" /var/log/updates.logInstead of tailing the log is there a way to grep all lines of the log with word Installed AND today's date? Also, what about grep lines of the log that contain a specific date and more than one word, by example : ('Installed' or 'Failed' on '2011-06-24')?
I am trying a search for a pattern in the file. I can have any character in the pattern. I am pretty sure I will have $, ", ', ^, ` etc., The Problem I am facing is if I use "" (double quotes) to enclose the pattern, it gives special meaning to $, ^ and " within the string. I have no control over the pattern input. I am getting it from some other file. On the other hand, If I use '' (single quotes) to enclose the pattern, it gives special meaning to the ' (apostrophe) within the string and terminates the pattern prematurely. How do I disable the special meaning these characters have? For example, in perl, I could enclose the pattern within Q and E. Is there an equivalent in grep pattern expression? I could find one in the man page of grep. Is there a solution to this problem?
I have the ndiswrapper util installed on my computer, however, I have been unable to install the corresponding driver from the provided cd. I have a WNA 1100 wireless adapter. I have not been able to locate a mountable .inf file on the cd. Only a "setupt.exe" or a trans.tbl file.
When I used the find command, I almost always need to search the local drives. But, I almost always have super large network shares mounted and these are included in the search. Is there an easy way to exclude those in the find command, grep and other similar commands? Example:
I'm trying to math all class references in a C++ file using grep with regular expression. I'm trying to know if a specific include is usuless or not, so I have to know if there is a refence in cpp. I wrote this RE that searches for a reference from class ABCZ, but unfortunately it isn't working as I espected:
^[^(/*)(//)] don't math comments in the begging of the line ( // or /* ) .* followed by any character [^a-zA-Z] do not accept any caracter before the one I'm searching (like defABCZ) []* any white space (I can have something like ABCZ var; ) [*(<:;,{& ] followed by ( * < : ; , & { (I cant get #define "ABCZ.h" or ABCZdef for example)
Well, I can get patterns like this:
class Test: public ABCZ{ class Test: public ABCZ { class Test : public ABCZ<T>
I just installed Fedora12 in a Core i3 machine... everything looks fine, but I have a huge problem... every time I upload a file (using ftp or sftp) some wier characters are included inside the file... for example.
I used my colleges online site to automatically install and setup the Cisco AnyConnect VPN Client. Everything went smoothly. I have a Cisco icon in my system tray and it says that I am connected to the VPN.
My question then is where do I access the VPN? I am assuming that I can access the other computers at the other end of the VPN as I would if they were networked to me, however I cannot seem to find any information on how this is done after the connection is made.
I looked in the Network folder which is where I figured everything would be, but there is nothing other than the normal, empty, network folders.
I am running Linux Mint 9, KDE 4.4
My friend Google let me down, and every VPN how to I can find ends at the "connected" stage, never getting into details about where to go from there...
Write a script that will take a list of filenames as arguments and output a count of how many of them are regular files, and how many of them are scripts (if the file is executable, it will be assumed to be a script file)
I'm using a Samsung mobile to connect internet.in Ubuntu i can browse the files inside the mobile and can be connect to internet at the same time.in opensuse both gnome and kde my device is detected but i can only connect to internet using it.i can't browse the mobile files
Just after the booting process is finished, running ps I get this:
Code:
As you can see, there are a lot of names beginning with the letter 'k'. Are these processes needed for the GUI to be fully functional when it is run (X Window System + WM + Xfce4)? And can I setup the system such that they're never run?
The reason for this question is that I am testing some programs and need the CPU to have as little time stolen as possible.
I'm getting this when I try to do an upgrade in Adept in Kubuntu:APT Error. Context:Package download failed,I wasn't able to locate file for the libvolume-id0 package. This might mean you need to manually fix this package.
When I try apt-check in the console, I get this: The package libvolume-id0 needs to be reinstalled, but I can't find an archive for it. How do I manually fix this package?
I'm uncertain if this is the correct forum to ask this question. Please redirect me to the correct forum if necessary. I am attempting to install MS Windows 7 as a guest in VirtualBox inside Ubuntu Karmic Koala 9.10. on a ZaReason Strata 3660 with 4GB of RAM and adequate memory. The machine is correctly partitioned for this event. I am using the Ubuntu Walk Through as a guide: [URl].. All was going fine until VirtualBox asked for the .iso image from the MS cd 'UDF Volume'. There appears to be no .iso file in the UDF Volume.