Shorts

0 articles found

Git – Remove untracked files matching a pattern

Solution

$ git clean [-n] -f <path>...

Example

Run:

$ git clean -n -f *.json

to remove all untracked json files.

Important note

Always use -n or --dry-run before running the command.

Remove first line from a very large file

$ tail -n +2 very_large_export_file.csv > very_large_export_file_NEW.csv

 

Connect to remote DB via ssh tunneling

The DB you want to connect to is on a remote server and cannot be accessed directly from the outside, but you do have ssh access to the remote server.

Solution

First, open a terminal window and run the following command (keep it open while you want to maintain the connection to the DB):

ssh -L localhost:<local_port>:<remote_db_host>:<remote_db_port> <remote_ssh_user>@<remote_ssh_host> [-i <permission_file>.pem]

Then, you connect to the DB at localhost:<local_port> and the remote DB credentials.

 

Download streamable files with Axios/NestJS

Solution

Use responseType: arraybuffer. Example in NestJS (The httpService of NestJS uses Axios):

const response = this.httpService.get(downloadUrl, {
  responseType: 'arraybuffer', // <= THIS
});

return new Promise((resolve, reject) => {
  response.subscribe({
    next(response) {
      response.status === 200 ?
        resolve(response.data) :
        reject(response.data);
      },
      error(err) {
        reject(err);
      },
    }
  });
});

 

Search and replace new lines in Vim

Solution

 When using the search and replace feature in Vim (:%s/search/replace/), you must use \n to search for new line characters and \r to replace them with new line characters.

Example of replacing new line characters with commas:

:%s/\n/,/g

Example of replacing commas with new line characters:

:%s/,/\r/g

Prevent Postgres from automatically lower casing constraint names

This doesn’t work:

ALTER TABLE company DROP CONSTRAINT UQ_924dc2ee53aa15f1b16b4af12be;

Postgres says that this constraint doesn’t exist.

Solution

The problem is that Postgres will lowercase the constraint name. Use double quotes around the constraint name, like this:

ALTER TABLE company DROP CONSTRAINT "UQ_924dc2ee53aa15f1b16b4af12be";

Reference groups in search and replace in Vim

Solution

Use \x where x is the number of the group and backspace group parentheses.

Let’s say you want to add dashes around digits in a text file, from “today is 20 May 2022” to “today is -2–0- May -2–0–2–2-”. You can do it like this:

:%s/\(\d\)/-\1-/g