Выполнение команды вырезания текста ASCII

У меня есть текстовый файл, написанный следующим образом:

/home/walter197/file_created.txt
/home/walter197/myfile1
/home/walter197/new.txt
/home/walter197/sdl.tar.gz
/home/walter197/sys_info.html
/home/walter197/test2.sh

Я написал следующий сценарий оболочки, чтобы прочитать каждую строку текста файла, вырезать четвертый столбец (который является последним столбцом) и запишите его в новый файл:

#!/bin/bash 

path="/home/walter197/info.txt" 
new_file="/home/walter197/new_info.txt"

while IFS= read -r line
do 
    cut -d "/" -f 4 "$line" | cat $new_file

done < "$path"

exit

Когда я выполняю cat new_file.txt , я получаю ужасные странные тексты.

Итак, как мне исправить скрипт, чтобы я мог получить следующее в новом файле:

file_created.txt
myfile1
new.txt 
sdl.tar.gz
sus_info.html
test2.sh 
0
задан 4 May 2020 в 21:27

1 ответ

Вы должны изменить пару вещей:

#!/bin/bash 

path="/home/walter197/info.txt" 
new_file="/home/walter197/new_info.txt"

while IFS= read -r line
do 
    echo "$line" | cut -d "/" -f 4 >> $new_file

done < "$path"

exit
0
ответ дан 19 June 2020 в 21:43

Другие вопросы по тегам:

Похожие вопросы: