Skip to content

Latest commit

 

History

History
134 lines (80 loc) · 3.94 KB

awk_bash_hist_clean.md

File metadata and controls

134 lines (80 loc) · 3.94 KB

Given the length of your bash history, it's advisable to process the file directly instead of using a here-string. Here's how to modify the AWK and SED commands to work with your history file:

AWK Solution

awk '{print substr($0, index($0, " "))}' ~/.bash_history > commands.txt
  • Replace ~/.bash_history with the actual path to your bash history file if it's located elsewhere.

SED Solution

sed 's/^[^ ]* //' ~/.bash_history > commands.txt
  • Replace ~/.bash_history with the actual path to your bash history file if it's located elsewhere.

These commands will directly read from your bash history file, process each line to extract the commands, and write the output to "commands.txt".

To isolate just the commands from your bash history and remove the extra characters to the left of the command, you can use a combination of awk, cut, or sed commands. Here are a few methods to achieve this:

Using awk bash Copy code history | awk '{$1=""; print substr($0,2)}' This command works as follows:

history outputs the history.

awk '{$1=""; print substr($0,2)}' removes the first field (which is the history number) and prints the rest of the line starting from the second character.

Using cut bash Copy code history | cut -c 28- This command works as follows:

history outputs the history.

cut -c 28- removes the first 27 characters (assuming each line starts with a timestamp and spaces), and prints the rest of the line.

To modify the ~/.bashrc file, you can use a text editor. Here are the steps to do so:

  1. Open your terminal.

  2. Open the ~/.bashrc file with a text editor. You can use various text editors like nano, vim, gedit, etc. Here are examples for some common editors:

    • Using nano:

      nano ~/.bashrc
    • Using vim:

      vim ~/.bashrc
    • Using gedit (graphical editor):

      gedit ~/.bashrc
  3. Make your changes to the file. For example, you might want to add or modify environment variables, aliases, or other settings.

  4. Save the file and exit the editor:

    • If you are using nano, you can save and exit by pressing CTRL + O to write out the changes, then CTRL + X to exit.
    • If you are using vim, you can save and exit by pressing ESC, then typing :wq and pressing ENTER.
    • If you are using gedit, you can save the file via the graphical interface and close the window.
  5. Apply the changes by sourcing the ~/.bashrc file:

    source ~/.bashrc

This will reload the ~/.bashrc file and apply any changes you made.

Here is an example of what you might add to your ~/.bashrc file:

# Increase history size
export HISTSIZE=10000
export HISTFILESIZE=20000

# Add an alias
alias ll='ls -la'

After saving and sourcing the file, the changes will take effect.

To write your bash history to an output file, you can use the history command in combination with redirection. Here's how you can do it:

  1. Open your terminal.
  2. Use the following command to write your bash history to a file:
history > /home/jeb/bash_history.txt

This command will redirect the output of the history command to the file /home/jeb/bash_history.txt.

If you want to append the history to an existing file instead of overwriting it, you can use the >> operator:

history >> /home/jeb/bash_history.txt

This will add the current history to the end of the file without deleting its existing content.

Additionally, if you want to include timestamps in your history output, you can use the HISTTIMEFORMAT variable. First, set the variable to include timestamps, and then redirect the history:

export HISTTIMEFORMAT='%F %T '
history > /home/jeb/bash_history_with_timestamps.txt

This will include timestamps in the output file.

Remember to replace /home/jeb/bash_history.txt with the path and filename where you want to save your bash history.