Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rodkranz/ff
Find Text or File
https://github.com/rodkranz/ff
cpu golang search
Last synced: about 2 months ago
JSON representation
Find Text or File
- Host: GitHub
- URL: https://github.com/rodkranz/ff
- Owner: rodkranz
- Created: 2016-01-26T11:40:45.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2019-04-04T23:18:30.000Z (over 5 years ago)
- Last Synced: 2024-06-20T03:45:47.818Z (7 months ago)
- Topics: cpu, golang, search
- Language: Go
- Size: 64.2 MB
- Stars: 25
- Watchers: 6
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Find File #
Find File or text in file with go language.
-----------------------
### Source Find File ###* Find text or file name
* Version: 1.2.0
* License: ISC-----------------------
## How to Compile it
Compile those files from different platforms
### Requirements
* [GO Language](https://golang.org/doc/install)
#### Compiling to *Linux*
$ env GOOS=linux GOARCH=arm GOARM=7 go build -o ff main.go
#### Compiling to *MAcOSX*
$ env GOOS=darwin GOARCH=386 go build -o ff main.go
#### Compiling to *Windows*
$ env GOOS=windows GOARCH=386 go build -o ff.exe main.go
-----------------------
## Parameters
##### Helper:
```
NAME: FF - Find Text Or File.
USAGE: ff [arguments...]
VER: 1.2.0
COMMANDS:
-exclude-dir: Exclude dir from reader [default: .bzr,CVS,.git,.hg,.svn]
-no-color: Disable color output [default: false]
cis: Search text case insensitive [default: false]
cpu: Number of CPU you have 4 available [default: 4]
d: Set a specify directory [default: ./]
f: Filter by file name
force: Replace all result without ask. [default: false]
reg: Search by this Regex [default: false]
replace: Replace result to text
t: Text that you are looking for
up: Check update [default: false]
ver: Show the version [default: false]```
-----------------------
## Usage
Without parameters will show everything in subfolders.
```
$ ff
[dir] ./g please wait...
[dir] admin
[file] admin/config.dev.ini
[file] admin/config.ini
[dir] admin/controller
[file] admin/controller/AjaxAdminController.php
[file] admin/controller/AjaxAttributesController.php
[file] admin/controller/AjaxAuthenticationController.php.....
```With one parameter will find for text.
```
$ ff rodrigo
[file] admin/controller/AjaxAdminController.php (lines: 1)
[7] * @author Rodrigo Lopes
[file] admin/controller/AjaxAttributesController.php (lines: 1)
[7] * @author Rodrigo Lopes
[file] admin/controller/AjaxCompaniesController.php (lines: 1)
[7] * @author Rodrigo Lopes
.....
```-----------------------
### Parameter -f
Parameter `-f` of file, this parameter you will define the name of file that you should like to filter
```
$ ff -f css develop ✭
[dir] admin/resources/css
[file] admin/resources/css/adminLogin.css
[file] admin/resources/css/adminTheme.css
[file] admin/resources/css/angular-bootstrap-datepicker.css
[file] admin/resources/css/animate.css
....
```-----------------------
### Parameter -tParameter `-t` of text, this text that you will search inside of file.
```
$ ff -t rodrigo
[file] admin/controller/AjaxAdminController.php (lines: 1)
[7] * @author Rodrigo Lopes
[file] admin/controller/AjaxAttributesController.php (lines: 1)
[7] * @author Rodrigo Lopes
[file] admin/controller/AjaxCompaniesController.php (lines: 1)
[7] * @author Rodrigo Lopes
...
```-----------------------
### Parameter --cpu
Parameter `-cpu`, this parameter you will define the number of cpu the program can use.
Normal use:
```
$ ff -t log
ff -t "log" 0.01s user 0.01s system 70% cpu 0.034 total
```Four CPU use:
```
$ ff -t log -cpu 4
ff -t "log" -cpu 4 0.01s user 0.01s system *159%* cpu 0.024 total
```-----------------------
### Parameter -r
With parameter `-r` as regex will defined that your `-t` is a regular expression
```
$ ff -r -t "(rlopes)|(consectetur)"
----------------------------------------------------------------------------------------------------
Path : ./
Regex: (rlopes)|(consectetur)
----------------------------------------------------------------------------------------------------
[File] lookingFor/resources/css/none.txt
[1] sit amet, consectetur adipisici
[4] sit amet, consectetur adipisici
----------------------------------------------------------------------------------------------------
[File] lookingFor/resources/css/toastr.css
[144] .rlopes { lorem i
----------------------------------------------------------------------------------------------------
[File] lookingFor/services.dev.ini
[3] omain = ".rlopes.realestat
[6] = 'http://rlopes.realestat
[15] = 'http://rlopes.realestat
----------------------------------------------------------------------------------------------------
```-----------------------
### Parameter Combination
you can match both of the parameters as `-t` and `-f` to create more complex search
```
$ ff -t "rlopes" -f ini
----------------------------------------------------------------------------------------------------
Path : ./
File : ini
Text : rlopes
----------------------------------------------------------------------------------------------------
[File] lookingFor/services.dev.ini
[3] omain = ".rlopes.realestat
[6] = 'http://rlopes.realestat
[15] = 'http://rlopes.realestat
----------------------------------------------------------------------------------------------------
```-----------------------
### Parameter -d
The `-d` parameter will active the debug mode, you can see the time of searching (more things coming soon)
```
$ ff -t "rlopes" -f ini -d
----------------------------------------------------------------------------------------------------
Path : ./
File : ini
Text : rlopes
----------------------------------------------------------------------------------------------------
[File] lookingFor/services.dev.ini
[3] omain = ".rlopes.realestat
[6] = 'http://rlopes.realestat
[15] = 'http://rlopes.realestat
----------------------------------------------------------------------------------------------------
final Execution took 2.031182ms
```-----------------------
### Parameter -v
Show the version of application
```
$ ff -version master ✭
----------------------------------------------------------------------------------------------------
This program has written by Rodrigo Lopes .
Only for academic purposes
----------------------------------------------------------------------------------------------------
Version : 1.1.2
Language: GO Language
License : ISC
Project : https://github.com/rodkranz/ff
Contact : [email protected]
----------------------------------------------------------------------------------------------------
```-----------------------
### Parameter -h
Show the helper and parameters available
-----------------------
### Parameter -update
Check if exist an update available of sistem.
-----------------------
## Time Execution
The all tests was made in the same computer
the folder has `1434` files-----------------------
The `ff` running looking for word `rlopes`
```
$ time ff -t rlopes
----------------------------------------------------------------------------------------------------
Path : ./
Text : rlopes
----------------------------------------------------------------------------------------------------
[File] resources/css/toastr.css
[144] .rlopes { lorem i
----------------------------------------------------------------------------------------------------
[File] services.dev.ini
[3] omain = ".rlopes.realestat
[6] = 'http://rlopes.realestat
[15] = 'http://rlopes.realestat
----------------------------------------------------------------------------------------------------
ff rlopes 0,55s user 0,04s system 75% cpu 0,199 total
```-----------------------
The `ack` running looking for word `rlopes`
```
$ time ack rlopes
resources/css/toastr.css
144:.rlopes { lorem ipsum }services.dev.ini
3:domain = ".rlopes.realestateid.fixe"
6:baseUri = 'http://rlopes.realestateid.fixe'
15:baseUri = 'http://rlopes.realestateid.fixe'
ack rlopes 0,29s user 0,03s system 99% cpu 0,322 total
```-----------------------
The `grep` running looking for word `rlopes`
```
$ time grep -i -r 'rlopes' ./* master ✗ ✭
./jaws/jaws/configuration.dev.ini:site_url = "http://rlopes.realestateid.fixe"
./jaws/jaws/configuration.dev.ini:base_uri = "rlopes.realestateid.fixe/pixelandia/"
./jaws/jaws/services.dev.ini:domain = ".rlopes.realestateid.fixe"
./jaws/jaws/services.dev.ini:baseUri = 'http://rlopes.realestateid.fixe'
./jaws/jaws/services.dev.ini:baseUri = 'http://rlopes.realestateid.fixe'
./jaws/jaws/modules_customization/crm/config.dev.ini:base_uri = "http://rlopes.realestateid.fixe/images/"
./jaws/jaws/realestate/service/attribute/AttributeService.php: * User: rlopes
grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn} -i -r 'rlopes' ./ 4,26s user 0,05s system 99% cpu 4,328 total
```-----------------------