У меня есть текстовый файл, написанный следующим образом:
/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
Вы должны изменить пару вещей:
#!/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